70.Java集合之List

List

---| Iterable     接口 
          Iterator iterator()
    ----| Collection     接口
        ------| List      接口 元素可以重复,允许在指定位置插入元素,并通过索
引来访问元素

1.   List集合特有方法

1:增加
        void add(int index, E element) 指定位置添加元素            
        boolean addAll(int index, Collection c) 指定位置添加集合  
2:删除
E remove(int index) 删除指定位置元素

3:修改
        E set(int index, E element)    返回的是需要替换的集合中的元素
4:查找:
        E get(int index)             注意: IndexOutOfBoundsException
        int indexOf(Object o)         // 找不到返回-1
        lastIndexOf(Object o) 
5:求子集合
         List<E> subList(int fromIndex, int toIndex) // 不包含toIndex

1.1   增加

public static void main(String[] args) {
        List list = new ArrayList();
        // 增加:add() 将指定对象存储到容器中
        list.add("计算机网络");
        list.add("现代操作系统");
        list.add("java编程思想");
        list.add("java核心技术");
        list.add("java语言程序设计");
        System.out.println(list);
        // add,在0角标位置添加一本书
        list.add(0, "舒克和贝塔");
        System.out.println(list);
        // 在list2集合的1角标位置添加list集合元素
        List list2 = new ArrayList();
        list2.add("史记");
        list2.add("资治通鉴");
        list2.add("全球通史");
        boolean addAll = list2.addAll(1, list);
        System.out.println(addAll); //true         System.out.println(list2);
    }

1.2.   删除

public static void main(String[] args) {
        List list = new ArrayList();
        // 增加:add() 将指定对象存储到容器中
        list.add("计算机网络");
        list.add("现代操作系统");
        list.add("java编程思想");
        list.add("java核心技术");
        list.add("java语言程序设计");
        System.out.println(list);
        // 删除0角标元素
        Object remove = list.remove(0);
        System.out.println(remove);
    }

1.3.     修改:

public static void main(String[] args) {
        List list = new ArrayList();
        // 增加:add() 将指定对象存储到容器中
        list.add("计算机网络");
        list.add("现代操作系统");
        list.add("java编程思想");
        list.add("java核心技术");
        list.add("java语言程序设计");
        System.out.println(list);
        // 修改2角标位置的书,返回的原来2角标位置的书
        Object set = list.set(2, "边城");
        System.out.println(set); //java编程思想
        System.out.println(list); 
        
    }

查找

List list = new ArrayList();
        // 增加:add() 将指定对象存储到容器中
        list.add("计算机网络");
        list.add("现代操作系统");
        list.add("java编程思想");
        list.add("java核心技术");
        list.add("java语言程序设计");
        System.out.println(list);
        // 查找: E get(int index)  注意角标越界
        Object set = list.get(list.size() - 1);
        System.out.println(set); // java语言程序设计
        System.out.println(list);
list.get(list.size()); //IndexOutOfBoundsException
    }

1.4.   查找

public static void main(String[] args) {
        List list = new ArrayList();
        // 增加:add() 将指定对象存储到容器中
        list.add("计算机网络");
        list.add("现代操作系统");
        list.add("java编程思想");
        list.add("java核心技术");
        list.add("java语言程序设计");
        list.add("java编程思想");
        System.out.println(list);
        // 查找: E get(int index) 注意角标越界
        Object set = list.get(list.size() - 1);
        System.out.println(set); // java语言程序设计
        System.out.println(list);
        // list.get(list.size()); //IndexOutOfBoundsException

        // indexOf(Object o) 返回第一次出现的指定元素的角标
        int indexOf = list.indexOf("java编程思想");
        System.out.println(indexOf); // 2
        // 没有找到,返回-1
        int indexOf2 = list.indexOf("三国志");
        System.out.println(indexOf2); // -1

        // lastIndexOf 返回最后出现的指定元素的角标
        int lastIndexOf = list.lastIndexOf("java编程思想");
        System.out.println(lastIndexOf); // 5
    }

 

posted @ 2020-09-03 00:23  nohert  阅读(135)  评论(0编辑  收藏  举报