Java集合框架——List接口

本文详细介绍了Java集合框架中的List接口,包括其作为Collection子接口的功能扩展,以及ArrayList、LinkedList和Vector等实现类的特点。通过实例展示了List接口的常用方法,如增、删、改、查、遍历等操作,并提供了不同遍历方式的示例代码。此外,还探讨了List接口在实际开发中的应用和选择策略。
摘要由CSDN通过智能技术生成

List

List接口概述

List接口作为Collection接口的子接口,在继承Collection接口的方法同时,添加了一些字迹的方法。List接口在Java集合框架的使用中最为频繁。

List接口的实现类

List接口:存放有序可重复的数据,动态数组,替换原有的数组。
ArrayList:作为List接口的主要实现类,线程不安全,效率高,底层使用Object[] elementData 存储。
LinkedList:底层使用双链表存储,对于频繁的插入删除操作,效率高。
Vector:古老的List接口实现类,效率低,线程安全,底层使用Object[] elementData 存储。

List接口的常用方法(以ArrayList为例)

list接口的常用方法:
增:add(Object obj) boolean \addAll( int index ,Conllection eles)
删:remove(Object obj) \remove(int index) 默认调用索引
改:set(int index,OBject obj)
查:get(int index)
插:add(int index,Object obj)
长度:size()

public static void Test01(){
    ArrayList arrayList = new ArrayList();
    arrayList.add("lala");
    arrayList.add("xoxo");
    arrayList.add(123);
    arrayList.add(456);

    System.out.println(arrayList);

    //void add(int index,Object obj) 在index的位置插入obj
    arrayList.add(1,789);
    System.out.println(arrayList);

    //boolean addAll( int index ,Conllection eles)在index的位置插入集合eles的元素
    List list = Arrays.asList("lala","qow");
    arrayList.addAll(1,list);
                 //   arrayList.add(list);  把集合当作整体加入到集合中
    System.out.println(arrayList);

    //OBject get(int index) 返回index位置的元素
    System.out.println(arrayList.get(1));

    //int indexof(Object obj)返回obj元素在集合中首次出现的位置
    //int lastIndexof(object obj) 返回obj元素在集合中末次出现的位置
    System.out.println(arrayList.lastIndexOf(456));
    System.out.println(arrayList.indexOf("xixi") );
    System.out.println(arrayList.remove("lala"));
    System.out.println(arrayList);
  }
  public static void Test02(){
    ArrayList arrayList = new ArrayList();
    arrayList.add("lala");
    arrayList.add("xoxo");
    arrayList.add(123);
    arrayList.add(456);
    System.out.println(arrayList);

    // Object remove(int index)  移除集合中指定位置的元素并返回该元素,也可以删除指定对象
    System.out.println(arrayList.remove(1));
    System.out.println(arrayList);
    System.out.println(arrayList.size());

    //oBject set(int index,Object obj)替换集合中第indexe位置的元素,并将替换的元素返回
    System.out.println(arrayList.set(1,"EDG"));
    System.out.println(arrayList);

    //Object subList(int l,int w) 返回集合中位置l到w的子集合
    System.out.println(arrayList.subList(0,3));
  }

List接口的遍历方式

  • Iterator 迭代器
  • 增强 for循环
  • for循环
public static void Test03(){
    ArrayList arrayList = new ArrayList();
    arrayList.add("lala");
    arrayList.add("xoxo");
    arrayList.add(123);
    arrayList.add(456);

    //方式一:迭代器
    Iterator iterator = arrayList.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
    System.out.println("======================");
    //方式二:增强for循环
    for (Object obj:arrayList) {
      System.out.println(obj);
    }
    System.out.println("=======================");
    //方式三:for循环
    for (int i=0;i<arrayList.size();i++){
      System.out.println(arrayList.get(i));
    }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值