常用API-增强型for循环、容器ArrayList、collections

本文深入探讨了Java集合框架中HashSet和ArrayList的使用方法,包括基本操作、容器间的交互及Collections工具类的应用。通过实例展示了如何进行元素添加、删除、查询等操作,并介绍了容器之间的数据处理技巧。

import java.util.ArrayList;  import java.util.Collection;  import java.util.Collections;  import java.util.HashSet;  import java.util.Iterator;    public class fuxi3_arraylist_hashset      public static void main(String[] args)      {          /************************* JDK1.5增强型for循环 *************************************************/          Collection<String> list = new HashSet<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 (Object obj : list)// 遍历list元素,赋给obj          {              System.out.println(obj);          }                    /************************* collection容器ArrayList *************************************************/          ArrayList<Integer> c1 = new ArrayList<Integer>();          c1.add(10);          c1.add(20);          c1.add(30);          c1.add(20);          c1.add(50);                    int cs = c1.size();// 容器大小          c1.set(05);// 设置容器内指定元素          cs = c1.indexOf(10);// 判断对象的位置          c1.subList(02);// 截取0-1位置的容器元素,生成新的容器          System.out.println(c1);          System.out.println(c1.subList(02));                    Object[] obj = c1.toArray();// 转成数组          for (int i = 0; i < obj.length; i++)          {              System.out.println(obj[i]);          }                    /**           * ArrayList为什么有两个remove方法? remove(int index) 是子类新添加的!           * 如果是父类引用指向子类对象,则找不到子类中新添加的方法。 要想调用子类新添加的方法,需要先转型           */          c1.remove(2);// 移除该位置的元素,原容器长度减1          c1.remove(Integer.valueOf(20));// 移除第一个该值的元素对象,原容器长度减1,返回类型为布尔类型,结果为true          System.out.println(c1);                    int ig = c1.get(0);// 得到位置0的元素          boolean bc = c1.isEmpty();// 是否为空          bc = c1.contains(15);// 是否包含                    c1.clear();// 清空                    /************************* 容器间ArrayList *************************************************/          ArrayList<String> a1 = new ArrayList<String>();          a1.add("aaa");          a1.add("bbb");          a1.add("ccc");          a1.add("ddd");          a1.add("eee");                    ArrayList<String> a2 = new ArrayList<String>();          a2.add("bbb");          a2.add("eee");          a2.add("ddd");                    boolean flag2 = a2.remove("fff");          System.out.println(flag2);// 结果为false                    System.out.println(a1.containsAll(a2));// 是否包含a2所有元素,返回布尔值true          System.out.println(a1.retainAll(a2));// 求交集,返回布尔值true          System.out.println(a1.addAll(a2));// 添加a2所有元素,返回布尔值true          System.out.println(a1.removeAll(a2));// 移除与a2所有元素相同的元素,返回布尔值true                    a1.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 = new ArrayList<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);// 用特定的对象初始化整个aa          Collections.swap(aa, 0, aa.size() - 1);// 容器内对象位置对换                    Integer inc = Collections.max(aa);// 获取容器值最大的对象          int ic = Collections.binarySearch(aa, 5);// 二分法查找容器内对象,用之前必须先sort,否则结果返回-1                    System.out.println(ic);                    // /////////////////////////////***复制****/////////////////////////////////////////////          ArrayList<Integer> aa1 = new ArrayList<Integer>();          aa1.add(2);          aa1.add(3);                    ArrayList<Integer> aa2 = new ArrayList<Integer>();          aa2.add(12);          aa2.add(13);          aa2.add(14);                    ArrayList<Integer> aa3 = new ArrayList<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);      }       




本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1186832,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值