• 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
        }
    author@nohert
  • 相关阅读:
    Java模拟ATM运行过程(第一版)
    双色Hanoi塔问题及判断指令
    一点编程风格
    游戏程序员养成计划
    OGRE编译
    Python学习收藏
    case 语句注意
    [c、c++]宏中"#"和"##"的用法(zz)
    网络代码平台tortoise svn+google code
    使用delegate进行解耦
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13605280.html
Copyright © 2020-2023  润新知