集合之API使用大全(示例)NO.1

集合之API使用大全(示例)NO.1

话不多说直接上代码:

public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("0");
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        //System.out.println(list);[1, 2, 3, 4, 5]
        //包含左边,不包含右边
        List<String> strings = list.subList(1, 3);
        System.out.println(strings);//[1, 2]
        //------------------------------------------------->
        //清空集合
        //list.clear();
        //System.out.println(list);[]
        //------------------------------------------------->
        //克隆一个对象,强转成list类型,地址变换
        List<String> clone = (List<String>) ((ArrayList<String>) list).clone();
        System.out.println(clone == list);
        //------------------------------------------------->
        //可做代码优化,数据量大时使用有明显效果,预先扩容到已知大小详解见:https://blog.csdn.net/AnnotationZZ/article/details/91295649
        //((ArrayList<String>) list).ensureCapacity(1);
        //------------------------------------------------->
        /*ArrayList所说没有用的值并不是null,而是ArrayList每次增长会预申请多一点空间,1.5倍+1,而不是两倍
        这样就会出现当size() = 1000的时候,ArrayList已经申请了1200空间的情况
        trimToSize 的作用只是去掉预留元素位置,就是删除多余的200,改为只申请1000,内存紧张的时候会用到.*/
        ((ArrayList<String>) list).trimToSize();
        System.out.println(list);
        //------------------------------------------------->
        /*(1) 使用方法iterator() 要求容器返回一个Iterator。第一次调用Iterator的next() 方法时,它返回序列的第一个元素。注意:iterator()
        方法是java.lang.Iterable接口, 被Collection继承。
  (2) 使用next() 获得序列中的下一个元素。

  (3) 使用hasNext() 检查序列中是否还有元素。

  (4) 使用remove() 将迭代器新返回的元素删除。*/
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println("$" + iterator.next());
        }
        //------------------------------------------------->
        //index位置开始
        ListIterator<String> stringListIterator = list.listIterator(1);
        //在当前位置之前进行添加,改变list的集合内容,但是迭代器的内容不会改变
        stringListIterator.add("9");
        while (stringListIterator.hasNext()) {
            System.out.println(" ++" + stringListIterator.next());
            stringListIterator.add("9");
        }
        System.out.println(list);//[0, 9, 1, 9, 2, 9, 3, 9, 4, 9, 5, 9]
        //------------------------------------------------->
        List<String> list1 = new ArrayList<String>();
        list1.add("0");
        //2个集合取交集
        boolean b = list.retainAll(list1);
        System.out.println(list);
        //------------------------------------------------->
        //判断是否包含某一个元素,返回boolean类型
        boolean contains = list.contains("00");
        //------------------------------------------------->
        //取出元素在集合中最后一个位置的index
        int i = list.lastIndexOf("0");
        //------------------------------------------------->
        list.add("2");
        list.add("3");
        //在索引位置添加集合
        list.addAll(1,list1);
        System.out.println(list);
        //------------------------------------------------->
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值