IDEA-List集合的介绍和常用方法、linked集合的常用方法

该博客主要围绕IDEA展开,介绍了List集合的相关内容,包括其基本概念和常用方法,同时也提及了linked集合的常用方法,有助于开发者在IDEA环境下更好地使用这两种集合进行编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

/*
java.util.list接口 extends Collection接口
list接口的特点:
    1.有序的集合,存储元素和取出元素的顺序是一致的(存储123,取出123)
    2.有索引,包含了一些带索引的方法
    3.允许存储重复的元素
list接口中带索引的方法(特有的方法)
    public void add(int index, E element):将指定的元素,添加到该集合中的指定位置上。
    public E get(int index):返回集合中指定位置的元素
    public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
    public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值更新前的元素。
注意:
    操作索引的时候,一定要防止索引越界异常
    IndexOutOfBoundsException:索引越界异常,集合会报
    ArrayIndexOutOfBoundsException:数组索引越界异常
    StringIndexOutOfBoundsException:字符串索引越界异常
 */
public class Demo01List {
    public static void main(String[] args) {
        //创建一个list集合对象,多态
        List<String> list = new ArrayList<>();
        //使用add方法往集合中添加元素
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        //打印集合
        System.out.println(list);//[a, b, c, d, a] 不是地址,重写了tostring
        //public void add(int index, E element):将指定的元素,添加到该集合中的指定位置上。
        //在c和d之间添加一个元素
        list.add(3, "itheima");
        System.out.println(list);//[a, b, c, itheima, d, a]
        //public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
        //移除C元素,通过索引值定位
        //创建一个字符串变量来接收被移除的元素
        String remove1 = list.remove(2);
        System.out.println(remove1);//c
        System.out.println(list);//[a, b, itheima, d, a]

        //public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值更新前的元素。
        //把最后一个a,替换为A
        String set1 = list.set(4, "A");
        System.out.println("被替换的元素" + set1);//a
        System.out.println(list);//[a, b, itheima, d, A]
        //------------------------
        //list集合遍历有3种方法
        //使用普通的for循环
        for (int i = 0; i < list.size(); i++) {
            //public E get(int index):返回集合中指定位置的元素
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("----------------------");
        //使用迭代器遍历
        Iterator<String> it = list.listIterator();
        while (it.hasNext()) {
            String s = it.next();
            System.out.println(s);
        }
        System.out.println("----------------------");
        //使用增强for
        for (String s : list) {
            System.out.println(s);
        }
        //要防止索引越界异常
        String r = list.get(5);
        System.out.println(r);//IndexOutOfBoundsException
    }
}

import java.util.LinkedList;

/*
java.util.linkedList集合 implements list接口
    LinkedList集合的特点;
        1.底层是一个链表结构:查询慢,增删快
        2.里边包含了大量操作首尾元素的方法
        注意:使用LinkedList集合特有的方法,不能使用多态

        public void addFirst(E e):将指定元素插入此列表的开头。
        public void addLast(E e):将指定元素添加到此列表的结尾。
         public void push(E e):将元素推入此列表所表示的堆栈。

        public E getFirst():返回此列表的第一个元素
        public E getLast():返回此列表的最后一个元素

        public E removeFirst():移除并返回此列表的第一个元素
        public E removeLast():移除并返回此列表的最后一个元素
        public E pop():从此列表所表示的堆栈处弹出一个元素

        public boolean isEmpty();如果列表不包含元素,则返回true

 */
public class Demo02LinkedList {
    public static void main(String[] args) {
        show01();
        show02();
        show03();
    }

    //-----------------------------------------------------------
    private static void show03() {
/*
        public E removeFirst():移除并返回此列表的第一个元素,相当于pop
        public E removeLast():移除并返回此列表的最后一个元素
        public E pop():从此列表所表示的堆栈处弹出一个元素
*/
        //创建LinkedList集合对象
        LinkedList<String> linked2 = new LinkedList<>();
        //使用add方法往集合中添加元素
        linked2.add("a");
        linked2.add("b");
        linked2.add("c");
        //public E removeFirst():移除并返回此列表的第一个元素
        String first3 = linked2.removeFirst();//相同效果pop
        System.out.println(first3);//a
        System.out.println(linked2);//[b, c]
        //public E removeLast():移除并返回此列表的最后一个元素
        String last3 = linked2.removeLast();
        System.out.println(last3);
        System.out.println(linked2);//[b]
    }

    //-----------------------------------------------------------
    private static void show02() {
/*
       public E getFirst():返回此列表的第一个元素
       public E getLast():返回此列表的最后一个元素
         */
        //创建LinkedList集合对象
        LinkedList<String> linked1 = new LinkedList<>();
        //使用add方法往集合中添加元素
        linked1.add("a");
        linked1.add("b");
        linked1.add("c");

        //linked1.clear();//清空集合中的元素,在获取集合中的元素会抛出NoSuchElementRxception异常
        //  public boolean isEmpty();如果列表不包含元素,则返回true

        //判断集合中是否有元素,如果没有元素,返回true,否则false
        if (linked1.isEmpty()) {
            //判断如果集合有元素,进行下一步
            //创建一个字符串接收集合,返回的就是第一个元素
            String first = linked1.getFirst();
            //创建一个字符串接收集合,返回的就是最后一个元素
            String last = linked1.getLast();
            System.out.println("第一个" + first + "," + "最后一个" + last);
        }
    }

    //-----------------------------------------------------------
    private static void show01() {
    /*
        public void addFirst(E e):将指定元素插入此列表的开头。
        public void addLast(E e):将指定元素添加到此列表的结尾。此方法等效于add()
        public void push(E e):将元素推入此列表所表示的堆栈。此方法等效于 addFirst(E)。

         */
        //创建LinkedList集合对象
        LinkedList<String> linked = new LinkedList<>();
        //使用add方法往集合中添加元素
        linked.add("a");
        linked.add("b");
        linked.add("c");
        //public void addFirst(E e):将指定元素插入此列表的开头。此方法等效于 push(E)。
        //linked.addFirst("www");
        linked.push("wwww");
        System.out.println(linked);
        //public void addLast(E e):将指定元素添加到此列表的结尾。此方法等效于add()
        linked.addLast("com");
        System.out.println(linked);

    }
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值