java集合练习

来源:互联网 发布:淘宝账号怎么绑定邮箱 编辑:程序博客网 时间:2024/06/06 02:52

分组练习:

List<List<Student>>  list=new ArrayList<List<Student>>();这个是二维集合,分组的时候可以在第一层循环中创建一个list,用来接收循环的时候返回的对象,然后把list添加到二维集合中

package com.hanqi;import java.util.ArrayList;import java.util.List;import java.util.Random;public class fenzu {public static void main(String[] args){List<Student> l=DataSourceModel.getStuList();List<List<Student>>  list=new ArrayList<List<Student>>();/*int[][] i=new int[5][];int[] a=new int[]{1,2,3};i[3]=a;System.out.println(i[3][1]);*/  Random r=new Random();  int fenzur=4;  int zsize=13;  for(int i=0;i<(13/fenzur);i++){  List<Student> li= new ArrayList<Student> ();  for(int j=0;j<fenzur;j++){  int a=r.nextInt(4);  li.add(l.get(a));  l.remove(a);  if(l.size()<2){  li.add(l.get(0));  }  }list.add(li);  System.out.println(li);  System.out.println(li.size());  }}}

  

删除重复的对象就也可以用双层for循环来查找出重复的,也可以将list集合转化成set集合,因为set不可以重复,所以就将重复的自动删除了

public static void chachong(List l){for(int a=0;a<l.size();a++){int size=0;for(int b=0;b<l.size();b++){if(l.get(a).equals(l.get(b))){size++;if(size>1){l.remove(b);}}}}}public static void kaitou( List l){//j开头的名字for(int i=0;i<l.size();i++){if('J'==(l.get(i).toString().charAt(0))){//判断两个字符相等可以用==System.out.println(l.get(i));}}}public static void bnianling(List l){//比年龄for(int a=0;a<l.size();a++){if(((Student) l.get(a)).getAge()>25){//括号的student是强转成student型??System.out.println(l.get(a));}}}}

  因为map没有直接的iterator接口,所以可以动过keyset方法获得键值,将键值赋给set集合(因为,list可以重复,而set不可以重复)或者collection集合,就可以实现iterator接口了

Collection<Integer> c=m.keySet();Iterator<Integer> i=c.iterator();    while (i.hasNext()){    int a=i.next();    if(a>=1004&&a<=1009){    System.out.println(a);    if(a==1005){    i.remove();    continue;    }}

  

原创粉丝点击