首页 > 代码库 > java集合练习

java集合练习

分组练习:

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;	    	}}

  

java集合练习