常用API-增强型for循环、容器ArrayList、collections
importjava.util.ArrayList;importjava.util.Collection;importjava.util.Collections;importjava.util.HashSet;importjava.util.Iterator;publicclassfuxi3_arraylist_hashset{publicstaticvoidmain(String[]args){/*************************JDK1.5增强型for循环*************************************************/Collection<String>list=newHashSet<String>();//多态list.add("aaa");list.add("bbb");list.add("aaa");list.add("ddd");list.add("eee");System.out.println(list.toString());//打印结果[aaa,ddd,bbb,eee]for(Objectobj:list)//遍历list元素,赋给obj{System.out.println(obj);}/*************************collection容器ArrayList*************************************************/ArrayList<Integer>c1=newArrayList<Integer>();c1.add(10);c1.add(20);c1.add(30);c1.add(20);c1.add(50);intcs=c1.size();//容器大小c1.set(0,5);//设置容器内指定元素cs=c1.indexOf(10);//判断对象的位置c1.subList(0,2);//截取0-1位置的容器元素,生成新的容器System.out.println(c1);System.out.println(c1.subList(0,2));Object[]obj=c1.toArray();//转成数组for(inti=0;i<obj.length;i++){System.out.println(obj[i]);}/***ArrayList为什么有两个remove方法?remove(intindex)是子类新添加的!*如果是父类引用指向子类对象,则找不到子类中新添加的方法。要想调用子类新添加的方法,需要先转型*/c1.remove(2);//移除该位置的元素,原容器长度减1c1.remove(Integer.valueOf(20));//移除第一个该值的元素对象,原容器长度减1,返回类型为布尔类型,结果为trueSystem.out.println(c1);intig=c1.get(0);//得到位置0的元素booleanbc=c1.isEmpty();//是否为空bc=c1.contains(15);//是否包含c1.clear();//清空/*************************容器间ArrayList*************************************************/ArrayList<String>a1=newArrayList<String>();a1.add("aaa");a1.add("bbb");a1.add("ccc");a1.add("ddd");a1.add("eee");ArrayList<String>a2=newArrayList<String>();a2.add("bbb");a2.add("eee");a2.add("ddd");booleanflag2=a2.remove("fff");System.out.println(flag2);//结果为falseSystem.out.println(a1.containsAll(a2));//是否包含a2所有元素,返回布尔值trueSystem.out.println(a1.retainAll(a2));//求交集,返回布尔值trueSystem.out.println(a1.addAll(a2));//添加a2所有元素,返回布尔值trueSystem.out.println(a1.removeAll(a2));//移除与a2所有元素相同的元素,返回布尔值truea1.retainAll(a2);//求交集,返回布尔值,a1打印结果为:[bbb,ddd,eee]a1.addAll(a2);//添加,结果为:[aaa,bbb,ccc,ddd,eee,bbb,ddd]a1.removeAll(a2);//移除,结果为:[aaa,ccc]System.out.println(a1);/*************************工具类collections*************************************************/ArrayList<Integer>aa=newArrayList<Integer>();aa.add(13);aa.add(5);aa.add(10);aa.add(53);aa.add(25);aa.add(18);Collections.shuffle(aa);//将容器内对象重新随机排列Collections.sort(aa);//将容器内对象从小到大排序Collections.reverse(aa);//将容器内对象倒置排列Collections.fill(aa,555);//用特定的对象初始化整个aaCollections.swap(aa,0,aa.size()-1);//容器内对象位置对换Integerinc=Collections.max(aa);//获取容器值最大的对象intic=Collections.binarySearch(aa,5);//二分法查找容器内对象,用之前必须先sort,否则结果返回-1System.out.println(ic);///////////////////////////////***复制****/////////////////////////////////////////////ArrayList<Integer>aa1=newArrayList<Integer>();aa1.add(2);aa1.add(3);ArrayList<Integer>aa2=newArrayList<Integer>();aa2.add(12);aa2.add(13);aa2.add(14);ArrayList<Integer>aa3=newArrayList<Integer>();aa3.add(15);//Collections.copy(aa1,aa2);//将aa2复制到aa1,aa1长度必须大于aa2,否则报错Collections.copy(aa2,aa3);//将aa3复制到aa2,长度不够的保留原对象,打印结果:[15,13,14]System.out.println(aa1);System.out.println(aa2);}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。