java集合练习
Posted superficial。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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集合练习的主要内容,如果未能解决你的问题,请参考以下文章