• JDK源码阅读-------自学笔记(二十)(java.util.List初探)


    List简介

    • List是有序、可重复的容器。
      有序:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。
      可重复:List允许加入重复的元素。更确切地讲,List通常允许满足 e1.equals(e2) 的元素重复加入容器。
    • 除了Collection接口中的方法,List多了一些跟顺序(索引)有关的方法.
    • List接口常用的实现类有3个:ArrayList、LinkedList和Vector.

    初始化List

    1 List<String> list = new ArrayList<>();
    View Code

    List接口中定义的方法

    • void add(int index, E element); 在指定位置插入元素,以前元素全部后移一位

      实例:

      一般add()添加元素
      1     list.add("A"); 
      2     list.add("B"); 
      3     list.add("D");
      4     list.add("E");
      View Code

           List的add添加

    1     list.add(2, "C");
    View Code
    • E set(int index, E element); 修改指定位置的元素
      实例:
      1     list.set(4,"H");
      2     System.out.println(list);
      View Code
    • E get(int index); 返回指定位置的元素
      1     System.out.println(“输出元素:”+list.get(1));
      View Code
    • E remove(int index); 删除指定位置的元素,后面元素全部前移一位
      实例:
      1      list.remove(2);
      2     System.out.println(list);
      View Code
    • int indexOf(Object o);返回第一个匹配元素的索引,如果没有该元素,返回-1
      实战:
      1     // 从头到尾找到第一个"H" 
      2     System.out.println(list.indexOf("H"));
      View Code
    • int lastIndexOf(Object o);返回最后一个匹配元素的索引,如果没有该元素,返回-1
      实战:
      1     // 从尾到头找到第一个"H" 
      2     System.out.println(list.lastIndexOf("H"));
      View Code

    List并集和交集处理

    • 创建实例的集合
      1     List<String> list1 = new ArrayList<String>();
      2     list1.add("张三");
      3     list1.add("李四");
      4     list1.add("王五");
      5 
      6     List<String> list2 = new ArrayList<String>();
      7     list2.add("张三");
      8     list2.add("赵大");
      9     list2.add("钱二");
      View Code
    • containsAll() 包含
      实例:
      1     //list1是否包含list2中所有元素
      2     System.out.println(list1.containsAll(list2));
      View Code
    • addAll() 合并两个集合
      实例:
      1     //将list2中所有元素都添加到list1中
      2     list1.addAll(list2);
      View Code
    • removeAll() 一个集合中去除另一个集合的内容
      实例:
      1     //从list1中删除同时在list和list2中存在的元素
      2     list1.removeAll(list2);
      View Code
    • retainAll() 两个集合取交集
      实例:
      1    //取list1和list2的交集
      2     list1.retainAll(list2);
      View Code

    List常用方法

    • 创建实例的集合
      1     List<String> list = new ArrayList<>();
      View Code
    • boolean isEmpty(); 容器是否为空

    实例:

    1      System.out.println(list.isEmpty());
    View Code
    • boolean add(E e); 增加元素到容器中

    实例:

    1     list.add("张三");
    2     list.add("李四");
    3     System.out.println(list);
    View Code
    • int size(); 容器中元素的数量

    实例:

    1     System.out.println("list的数量大小:" + list.size());
    View Code
    • boolean contains(Object o); 容器中是否包含该元素

    实例:

    1     System.out.println("是否包含指定元素:" + list.contains("张三"));
    View Code
    • boolean remove(Object o); 从容器中移除元素

    实例:

    1      list.remove("李四");
    2     System.out.println(list);
    View Code
    • Object[] toArray();转化成Object数组

    实例:

    1     Object[] objects = list.toArray();
    2 
    3     System.out.println("转化成Object数组:" + Arrays.toString(objects));
    View Code
    • void clear();清楚容器中所有元素

    实例:

    1     list.clear();
    2 
    3     System.out.println("清空所有元素:" + list);
    View Code
  • 相关阅读:
    chrome安装插件
    如何在JIRA中有效使用关注和@提及 我正在关注的问题 提及我的问题 在仪表板上显示
    SQL Server中查找包含某个文本的存储过程 SQL 查找存储过程中出现过的文字怎么查询 查询整个数据库中出现的文本 sql 全局搜索
    Postman中添加真实请求(Chrome Networks中的全部请求,含https)copy as har
    SCOPE_IDENTITY 和 @@IDENTITY
    The underlying connection was closed: An unexpected error occurred on a rece
    mybatis中参数为list集合时使用 mybatis in查询
    如何在Mybatis的xml文件调用java类的方法
    Java中List, Integer[], int[]的相互转换
    ASP .NET Core HTTP Error 502.5 – Process Failure
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/12942636.html
Copyright © 2020-2023  润新知