java—List接口

(一)List的简单介绍

  1. List接口实现了Collection接口,在Collection的基础上添加了大量的方法,使得可以在List的中间插入和移除元素。但是List接口仍然不能直接进行实例化。
  2. 有两种类型的List
    (1) ArrayList 和 LinkedList是具体的类,可以对List接口进行实例化。
    (2)ArrayList:在List的插入和移除元素时较慢,但是在随机访问方面要好一点。
    (3)LinkedList:通过较低的代价在List中间进行插入与删除操作,提供了优化的顺序访问。但是随机访问方面比较慢。特性集较ArrayList更大。

(二)List中的一些方法

方法作用
add(某个对象)在列表中按照顺序插入元素
add(指定位置,某个对象)在指定位置插入元素
contains(某个对象)确定某个对象是否阿紫列表中
remove(某个对象)删除列表中某个对象
indexOf(某个对象)确定某个对象在列表中索引
subList(开始截取的位置,结束位置)从较大的列表中创建出一个片段
containsAll(对象/对象列表)判断对象/对象列表是否存在于列表中 注意:比较的对象的顺序并不重要

举例1:

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

class Fruit{
    private String type;
    public Fruit(String type){
        this.type = type;
    }
    public String toString(){
        return this.type;
    }
}
public class ListTest {
    public ListTest() {
    }

    public static void main(String[] args) {
        List<Fruit> fruit = new ArrayList<Fruit>();
        //1. 使用add()方法顺序添加元素并打印
        fruit.add(new Fruit("Apple"));
        fruit.add(new Fruit("Orange"));
        fruit.add(new Fruit("Fuji"));
        fruit.add(new Fruit("Pitch"));
        fruit.add(new Fruit("Gala"));
        System.out.println("1:"+fruit);

        //2. 使用add添加元素并打印
        Fruit f = new Fruit("Breaburn");
        fruit.add(f);
        System.out.println("2:"+fruit);

        //3. 使用remove()删除指定元素并打印
        fruit.remove(f);
        System.out.println("3:"+fruit);

        //4. 使用get()方法获取下标为2的元素
        // 使用indexOf()方法获取指定元素的下标并打印
        Fruit f1 = fruit.get(2);
        System.out.println(f1+" "+fruit.indexOf(f1));
        System.out.println("4:"+fruit);

        //5. 使用add()方法在列表中间插入元素并打印
        fruit.add(3,new Fruit("Apple2"));
        System.out.println("5:"+fruit);

        //6. 使用subList()方法从列表中截取某一长度的列表并打印
        List<Fruit> sub = fruit.subList(1,4);
        System.out.println("6:"+sub);
        //7. 使用contains()方法判断截取的列表是否存在于原列表中
        System.out.println(fruit.containsAll(sub));
    }
}

在这里插入图片描述

(三)LinkedList

  • LinkedList 和 ArrayList 一样,都实现了基本的List接口,但是在执行某些操作时(在List的中间插入和删除),比ArrayList更高效,但是在随机访问方面差一点。
  • LinkedList还添加了使其用作栈,队列,或者和双端队列的方法。
  • LinkedList中的一些方法如下:

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值