系统方法和List集合

系统方法

  • containsAll 判断是否包含
  • retainAll 在调用者的集合中求两集合的交集
  • removeAll 在调用者的集合中删除两集合的交集
  • addAll 把传入的集合中的所有元素添加到调用的集合中
  • addFirst 添加第一个元素
  • addLast 从最后添加元素
  • removeLast 删除最后一个元素
List特有方法
  • add(int index,Object obj) 在索引处插入元素
  • set(index,obj) 替换索引当前位置的值
  • get(int index) 获取索引当前位置的值
  • remove(int index) 删除索引当前位置的值

    举例使用

        List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        System.out.println(list);
        //  插入时 索引不能大于size
        list.add(3, "x");
        System.out.println(list);
        //  替换当前位置的值
        list.set(2,"w");
        System.out.println(list);
        //  获取当前位置的值
        String object = (String) list.get(3);
        System.out.println(object);
        //  删除当前位置的值
        list.remove(1);
        System.out.println(list);

输出:
[a, b, c, d]
[a, b, c, x, d]
[a, b, w, x, d]
x
[a, w, x, d]

List集合

  • ArrayList 特点
    查询快 增删慢

  • LinkedList 特点
    查询慢 增删快

iterator迭代器遍历用法

        Collection collection = new ArrayList();
        collection.add("a");
        collection.add("b");
        collection.add("c");
        collection.add("d");
        //  注意:迭代器遍历时 循环中只能调用一次next方法
        Iterator iterator = collection.iterator();
        //  当调用hasNext时 会判断 下一个位置有没有元素
        //  hasNext 不会改变指针位置
        //  next()方法 会获取下一个元素的值
        while (iterator.hasNext()) {
            Object object = iterator.next();
            System.out.println(object);         
        }

输出 : a , b , c , d

如果遍历时,修改集合长度,需要使用List特有的迭代器listIterator
        ArrayList list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()) {
        //  强转类型
            String str = (String)listIterator.next();
            if (str.equals("b")) {
            //  添加字符串,改变了长度
                listIterator.add("OK");
            }
        }
        System.out.println(list);
    }

输出: a , b , OK , c , d

猜你喜欢

转载自blog.csdn.net/guxin0729/article/details/82429601