Java之集合框架List

一:List数据结构

  • 在Java的集合框架中,List接口是一个有序的集合,允许元素有重复
  • List接口继承了Collection接口,提供了许多额外的功能,比如基于索引的插入、删除和访问元素等。
  • 常见的List接口的实现类有ArrayList、LinkedList和Vector。

二:List接口的实现类

2.1 ArrayList

  • 底层基于数组实现,查询效率高,增删效率低(因为需要移动元素)。
  • 线程不安全,但性能较高。
  • 适用于需要频繁查询的场景。

2.2 LinkedList

  • 底层基于双向链表实现,查询效率低(需要从头或尾遍历),增删效率高。
  • 提供了额外的头尾操作方法,如addFirst(), addLast(), getFirst(), getLast(), removeFirst(), removeLast()等。
  • 线程不安全。
  • 适用于需要频繁增删的场景,尤其是首尾操作。

三:List接口的主要方法

  • void add(int index, E element): 在指定位置插入元素。
  • E get(int index): 返回指定位置的元素。
  • int indexOf(Object o): 返回此列表中指定元素的首次出现的索引,如果此列表不包含该元素,则返回-1。
  • int lastIndexOf(Object o): 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含该元素,则返回-1。
  • E remove(int index): 移除指定位置的元素。
  • boolean contains(Object o): 如果此列表包含指定的元素,则返回true。
  • Iterator iterator(): 返回在此列表中的元素上进行迭代的迭代器
    代码示例:
package chapter8;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class CollectionDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");

//        for(String str: list){
//            System.out.println(str);
//        }

        list.remove("apple");

        String a = list.get(0);
        list.add(0,"老王");
        System.out.println(list);

        int b = list.indexOf("banana");
        System.out.println(b);

    }

}

/**
运行结果:
[老王, banana, orange]
1
*/
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值