> 文档中心 > Java学习笔记<五>(Collection:ArrayList)

Java学习笔记<五>(Collection:ArrayList)


ArrayList

  常见使用

 /*Arraylist集合*/ //创建ArrayList容器对象,泛型指定对象(容器)中元素类型 //ArrayList容器基于数组结构 List yy=new ArrayList(); //接口声明,面向对象变成又称为面向接口编程 //为容器添加元素,返回Boolean值,true为添加成功,false为添加不成功 boolean yang = yy.add("yang"); boolean jing = yy.add("jing"); System.out.println(yang);//true System.out.println(jing);//true /**  *无返回值,在指定索引位置添加元素,当前位置如有元素,则整体向后移位  */ //索引值不能大于或等于元素个数,否则越界异常 yy.add(1,"da"); System.out.println("-----使用for循环遍历容器中的元素------"); boolean yang1 = yy.remove("yang"); System.out.println(yang1);   //true for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));  // da jing } System.out.println("-----删除指定索引元素------"); //删除容器中指定索引位置元素,并且返回删除元素 String remove = yy.remove(1); System.out.println(remove);    //jing for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));    //da } System.out.println("-----删除指定元素------"); //删除容器中指定元素(全部删除),返回boolean值,true为删除成功,false为容器中不存在指定元素 boolean yang2 = yy.remove("yang"); System.out.println(yang2);    //false for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));   //da } System.out.println("-----替换元素------"); String ee = yy.set(0, "替换");//替换指定位置元素,并返回被替换的元素 System.out.println(ee);//da for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));   //替换 } System.out.println("-----清空容器------"); yy.clear();     //清空容器中所有元素,无返回值 System.out.println(yy.size());// 0 查看容器中元素的个数,无返回值,容器已被清空 System.out.println("-----判断容器是否为空------"); boolean hen = yy.add("hen"); boolean qiang = yy.add("qiang"); boolean empty = yy.isEmpty(); //如果容器为空返回true,否则返回false System.out.println(empty); for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));   //false hen qiang } System.out.println("-----判断容器中是否包含指定元素------"); boolean qiang1 = yy.contains("qiang"); //判断容器中是否包含指定元素,包含返回true,否则返回false //参数类型为object数据类型 boolean contains1 = yy.contains(1); boolean contains3 = yy.contains(3); System.out.println(qiang1);   //true System.out.println(contains1);//false System.out.println(contains3);//false System.out.println("-----查找元素在容器中第一次或最后一次出现的位置(返回索引值)-----"); //添加一个重复元素 boolean hen1 = yy.add("hen"); //返回容器中元素第一次出现的索引,有返回当前索引值,无返回-1 int i1 = yy.indexOf("hen");   //返回元素在容器中第一次出现的元素 int i2 = yy.indexOf(2);//无索引元素时返回-1 int i3 = yy.lastIndexOf("hen");   //返回元素在容器中最后一次出现的位置 for (int i=0;i<yy.size();i++){     System.out.println(yy.get(i));   // hen qiang hen } System.out.println(i1);//  0 System.out.println(i2);// -1 System.out.println(i3);//  2 System.out.println("-----将单例集合转换为数组-----"); System.out.println("-----转换为Object[]数组-----"); //将ArrayList集合转换为Object[]数组 Object[] objects = yy.toArray();     //yy容器中的元素本质上仍然为Object类型,泛型不能改变真正的数据类型 for (int i = 0;i<objects.length; i++){     String str = (String) objects[i];     System.out.println(str);  // hen qiang hen } System.out.println("-----转换为指定类型数组-----"); //将ArrayList集合转换为指定类型数组(根据泛型进行转换) //创建一个新数组接收集合中元素,为数组开辟指定长度空间,长度为集合的数据个数 System.out.println(yy.size());//3 String[] strings = yy.toArray(new String[yy.size()]); for (int i=0;i<strings.length;i++){     System.out.println(strings[i]);  //hen qiang hen }

   并集操作

 System.out.println("-----容器的并集操作-----"); //创建两个ArrayList集合 ArrayList strings1 = new ArrayList(); boolean ji = strings1.add("ji"); boolean he = strings1.add("he"); System.out.println(ji);//true System.out.println(he);//true ArrayList strings2 = new ArrayList(); boolean jii = strings2.add("集"); boolean hee = strings2.add("合"); System.out.println(jii);      //true System.out.println(hee);      //true //创建一个空集合 ArrayList strings3 = new ArrayList(); //将strings1和strings2集合合并 boolean b = strings1.addAll(strings2); System.out.println(b); //true //不是集合不能直接转换为其它类型数组? 已经解决 for (String h:strings1){     System.out.println(h);    //ji he 集 合 } //非空集合合并空集合,合并失败,返回false,仍为非空集合 //空集合合并非空集合,合并成功,返回true,空集合为非空集合所有元素 //合并时的先后顺序影响返回的Boolean值 boolean b1 = strings3.addAll(strings1); System.out.println(b1); for (int i=0;i<strings3.size();i++){     System.out.println(strings3.get(i));   //ji he 集 合 }

    交集操作

 System.out.println("-----容器的交集操作-----"); //创建三个ArrayList集合,两个非空集合,一个空集合 ArrayList vv = new ArrayList(); vv.add("a"); vv.add("b"); vv.add("c"); ArrayList bb = new ArrayList(); bb.add("b"); bb.add("c"); bb.add("d"); ArrayList nn = new ArrayList(); //非空集合求交集 boolean b2 = vv.retainAll(bb); //true System.out.println(b2); for (String k:vv){     System.out.println(k);     //b  c } //非空与空集合求交集 //交集返回true,成功,集合中无元素,为空集 boolean b3 = vv.retainAll(nn); System.out.println(b3); //true System.out.println(vv.size()); //0

    差集操作

 System.out.println("-----容器的差集操作-----"); ArrayList a1 = new ArrayList(); a1.add("a"); a1.add("b"); a1.add("c"); ArrayList aa1 = new ArrayList(); aa1.add("b"); aa1.add("c"); aa1.add("d"); //根据求差顺序不同,差集的结果不同 //求两个集合的差集:a1-aa1 System.out.println(a1.removeAll(aa1));      //true for (String d1:a1){     System.out.println(d1);   //a } //求两个结合的差集:aa1-a1 System.out.println(aa1.removeAll(a1));      //false for (String h1:aa1){     System.out.println(h1);   //b c d }

网赚站