List接口

List接口

List接口的概述(Collection接口的子类之一)

List接口的特点:

1.有序的集合,即存储和取出得顺序一致
2.该集合是带索引的,所以List集合中提供的是一些与索引相关的特有方法
3.与set集合不同,可以存储重复的元素

List接口的特有的带索引的方法:

1.public void add(int index,E element);

功能描述:将指定的元素存储到指定的地方

eg:

 		List<String> list =new ArrayList();
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("a");
        for (String s : list) {
            System.out.print(s);
        }
        list.add(3,"itheima");
        System.out.println(list);
2.public E get(int index);

功能描述:返回集合中指定位置的元素

eg:

 		String s = list.get(3);
        System.out.println(s);
3.public E remove(int index);

功能描述:删除指定下标的元素,注意的是这里返回的并不是一个布尔值,而是被删除的元素值。

eg:

 		String removee = list.remove(3);
        System.out.println(removee);
4.public E set(int index,E element);

功能描述:用指定元素替换指定位置的元素

eg:

		list.set(4,"zhagnasn");
        String s = list.get(3);
5.用size方法和get方法遍历集合

说明:一般而言,我们遍历集合直接使用增强for或者迭代器遍历即可,但有的人喜欢用索引的方式遍历,这里介绍一下。

	List<String> list =new ArrayList();
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("a");
 	for (int i = 0; i < list.size(); i++) {
            String s1 = list.get(i);
            System.out.print(s1);
        }

List接口的实现类:

List集合下有两大主要实现类,我们在开发中随意使用这两个子类其实是有所欠缺的,我们应该充分分析自己的需求,选择合适的实现类

1.ArrayList

底层是一个数组,查询快,增删慢

2.LinkedList

底层是一个链表,增删快,查询慢,既然是链表,那他其中自然包含了许多首尾元素操作的方法。

LinkedList中的方法(主要是首尾操作的一些方法)

注意:使用LinkedList的时候无法使用多态,如下图:
在这里插入图片描述

1.addFirst

功能说明:在集合的第一个元素之前插入一个元素

代码:

        private static void addFirstTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        str.addFirst("mcc");
        System.out.println(str);
    }

测试
在这里插入图片描述

2.addLast

功能说明:在集合的最后一个元素之后插入一个元素

代码:

private static void addLastTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        str.addLast("mcc");
        System.out.println(str);
    }

测试
在这里插入图片描述

3.push

功能说明:相当于栈中的压栈,即等同于addFirst

代码:

		private static void pushTest() {
            LinkedList<String> str = new LinkedList<>();
            str.add("z");
            str.add("h");
            str.add("a");
            str.add("o");
            str.add("w");
            str.add("e");
            str.add("i");
            str.push("mcc");
            System.out.println(str);
        }

测试
在这里插入图片描述

4.removeFirst

功能说明:移除集合的第一个元素

代码:

private static void removeFirstTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String s = str.removeFirst();
        System.out.println(s);//返回删除的字符串
        System.out.println(str);
    }

测试
在这里插入图片描述

5.removeLast

功能说明:移除集合的最后一个元素

代码:

private static void removeLastTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String s = str.removeLast();
        System.out.println(s);
        System.out.println(str);
    }

测试
在这里插入图片描述

6.pop

功能说明:弹出集合中的第一个元素

代码:

private static void popTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String pop = str.pop();
        System.out.println(pop);
        System.out.println(str);
    }

测试
在这里插入图片描述

7.getFirst

功能说明:获取集合中的第一个元素

代码:

private static void getFirstTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String first = str.getFirst();
        System.out.println(first);
        System.out.println(str);
    }

测试
在这里插入图片描述

8.getLast

功能说明:获取集合的最后一个元素

代码:

private static void getLastTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String last = str.getLast();
        System.out.println(last);
        System.out.println(str);
    }

测试
在这里插入图片描述

9.peek

功能说明:弹出集合中的第一个元素等价于getFirst

代码:

private static void peekTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        String peek = str.peek();
        System.out.println(peek);
        System.out.println(str);
    }

测试
在这里插入图片描述

10.isEmpty

判断集合是否为空,是空返回真,否则返回假
代码:

 private static void isEmptyTest() {
        LinkedList<String> str = new LinkedList<>();
        str.add("z");
        str.add("h");
        str.add("a");
        str.add("o");
        str.add("w");
        str.add("e");
        str.add("i");
        boolean empty = str.isEmpty();
        System.out.println(empty);

    }

测试
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sli_Pink

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值