【Java】List接口与实现类

这篇博客详细介绍了Java中的List接口,包括其特点和常用方法。重点讲解了ArrayList、Vector和LinkedList三个实现类,分析了它们的特点、示例及源码。文章通过比较ArrayList和LinkedList的区别,强调了数组和链表结构在查询和增删操作上的性能差异。
摘要由CSDN通过智能技术生成

目录

一、List接口

1.特点:

2.方法:

二、List接口的使用

三、List实现类

1.ArrayList(重点)

(1)特点

(2)示例

(3)源码分析

2.Vector

(1)特点

(2)示例

3.LinkedList

(1)特点

(2)示例

四、ArrayList和LinkedList的区别

1.ArrayList     数组

2.LinkedList    双向链表


一、List接口

1.特点:

有序、有下标、元素可以重复。

2.方法:

1.在index位置插入对象o

void add(int index,Object o)

2. 将一个集合中的元素添加到此集合中的index位置

boolean addAll(int index,Collection c)

3. 返回集合中指定位置的元素

Object get(int index)

4. 返回fromIndex和toIndex之间的集合元素

List subList(int fromIndex,int toIndex)

二、List接口的使用

详见代码注解:

重点都在注释      重点都在注释      重点都在注释      

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
 * List子接口使用
 * 特点:1.有序 有下标
 * 特点:2.可以重复
 */
public class Test03 {
    public static void main(String[] args) {
        //1.先创建集合对象
        List list = new ArrayList<>();
        //添加元素
        list.add("苹果");
        list.add("葡萄");
        list.add(20);
        list.add(46);
        list.add(56);
        list.add("香蕉");
        list.add("橘子");
        list.add(1, "梨子");
        System.out.println("元素个数:" + list.size());
        System.out.println(list.toString());
        System.out.println("----------------");

        //2.删除元素(字符串)
        list.remove(1);
        System.out.println("删除之后的个数:" + list.size());
        System.out.println(list.toString());
        System.out.println("----------------");

        //删除数字
        // 直接删除角标
        list.remove(2);
        System.out.println(list.toString());
        System.out.println("----------------");

        //转为Object
        list.remove((Object) 46);
        System.out.println(list.toString());
        System.out.println("----------------");
        //new Integer
        list.remove(new Integer(56));
        System.out.println(list.toString());
        System.out.println("----------------");

        //3.遍历
        //(1)有角标,可以使用for循环遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("----------------");

        //(2)使用增强for
        for (Object objiect : list) {
            System.out.println(objiect);
        }
        System.out.println("----------------");

        //(3)使用迭代器  只能往后遍历
        Iterator it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        System.out.println("----------------");

        //(4)列
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yao_yao_ya

感谢打赏ლ(°◕‵ƹ′◕ლ)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值