• 4.21JavaList容器


    4.21JavaList容器

    List容器特点

    • 有序:

      • List中每个元素都有索引标记,可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素

      • 和数组一样有索引下标

      • List的底层实现就是数组

    • 可重复:

      • List允许加入重复的元素,List允许满足e1.equals(e2)的元素重复加入元素---对象地址相同或者是值相同

      • 因为List的底层是数组,所以添加重复的元素在List中的所有地址不一样,所以可以添加重复元素

    List接口常用的实现类

    ArrayList---底层实现是数组
    LinkedList---底层使用的是链表
    Vector---底层也是数组,但是是线程安全

    实例:

    public class TestList{
    public static void main(String[] args){
    test03;
    }
       
           /*测试和索引相关的方法*/
       public static void test03(){

           /*定义一个自己的List,加泛型*/
           List<String> list = new ArrayList<>();
           list.add("A");
           list.add("B");
           list.add("C");
           list.add("D");
           /*
           在List源码中有两个add方法
           1.传参数和值---插入元素
           2.传索引和值---在指定索引处插入元素---链表
            */

           System.out.println(list);

           /*插入元素*/
           list.add(2,"Lucifer");
           System.out.println(list);
           /*
           特点:
           1.只插入元素,List后面的元素往后移
           2.相当于打断了链表然后重写连接,不删除任何元素
           用于数据库的增删改查的增
            */

           /*移除元素*/
           list.remove(2);
           System.out.println(list);
           /*
           插入的元素被移除出List
            */

           /*set方法*/
           list.set(2,"JunkingBoy");
           System.out.println(list);
           /*
           直接将传入的索引位置处的值改成后续传入的值
            */

           /*get方法*/
           System.out.println(list.get(2));
           /*
           直接返回List中2号索引位置处的值
            */
           
                   list.add("C");
           list.add("B");
           list.add("A");
           System.out.println(list);

           System.out.println(list.indexOf("B")); //里面有两个B,返回的是第一个出现的B的索引下标
           /*
           如果字符不存在返回-1
            */

           System.out.println(list.lastIndexOf("B"));
           
      }
       
    }

     

     

     

    It's a lonely road!!!
  • 相关阅读:
    杨老师课堂_VBA学习教程之根据部门列创建工作表
    杨老师课堂_Java核心技术下之控制台模拟微博用户注册案例
    杨老师课堂_Java核心技术下之控制台模拟记事本案例
    杨校老师课堂之JavaScript右下角广告弹框教程
    JavaScript的数组知识案例之随机点名器
    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON
    OLEDB和ODBC的区别
    教你认识主板上的主要芯片
    递归和迭代有什么区别
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14686564.html
Copyright © 2020-2023  润新知