分组练习:
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;
}}