Java基础关于List集合整理

本文介绍了Java中List接口的基本概念、常用方法及其子类ArrayList和LinkedList的特点。通过实例展示了如何添加、删除和修改List集合中的元素。同时,对比了Set接口及其实现类HashSet和LinkedHashSet,并探讨了Comparable和Comparator接口在排序中的作用。
摘要由CSDN通过智能技术生成

List接口介绍
java.util.List接口继承自Collection接口,是单列接口集合的一个重要分支,习惯的将实现了List接口的对象
象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过 索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。

List接口中常用方法:
List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法,如下:
public void add(int index, Eelement)将指定的元素,添加到该集合中的指定位置上。
public E get(int index)返回集合中指定位置的元素
public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, Eelement)用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

应用:

public class ListDemo{
public static void main(String[] args) {
// 创建List集合对象
List<String>list = new ArrayList<String>();

// 往 尾部添加指定元素
list.add("水娃");
list.add("火娃");
list.add("木娃");

System.out.println(list);
// add(intindex,String s) 往指定位置添加
list.add(1,"铁娃");

System.out.println(list);
// String remove(int index) 删除指定位置元素返回被删除元素
// 删除索引位置为2的元素
System.out.println("删除索引位置为2的元素");
System.out.println(list.remove(2)); System.out.println(list);
// String set(intindex,String s)
// 在指定位置 进行 元素替代(改)
// 修改指定位置元素
list.set(0, "金娃");
System.out.println(list);

// String get(int index)获取指定位置元素

// 跟size() 方法一起用 来 遍历的
for(inti = 0;i<list.size();i++){ System.out.println(list.get(i));
}
//还可以使用增强for
for(String string: list) { System.out.println(string);
}
}
}

List的子类
ArrayList集合
java.util.ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为
查询数据、遍历数据,所以    是最常用的集合。
许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。
LinkedList集合
java.util.LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。

public void addFirst(Ee):将指定元素插入此列表的开头。
public void addLast(Ee):将指定元素添加到此列表的结尾。
public E getFirst():返回此列表的第一个元素。
public E getLast() :返回此列表的最后一个元素。
public E removeFirst():移除并返回此列表的第一个元素。
public E removeLast():移除并返回此列表的最后一个元素。
public E pop():从此列表所表示的堆栈处弹出一个元素。
public void push(Ee):将元素推入此列表所表示的堆栈。
public boolean isEmpty() :如果列表不包含元素,则返回true
LinkedList是List的子类,List中的方法LinkedList都是可以使用。

应用:

package com.Liaodai.demo01;

import java.util.LinkedList;

/**
 * @Author liaodaijiayue
 * @Date 2022/4/11 11:57
 * @Version 1.0
 */
/*
public void addFirst(E e):将指定元素插入此列表的开头。
public void addLast(E e):将指定元素添加到此列表的结尾。
public E getFirst():返回此列表的第一个元素。
public E getLast() :返回此列表的最后一个元素。
public E removeFirst():移除并返回此列表的第一个元素。
public E removeLast():移除并返回此列表的最后一个元素。
public E pop():从此列表所表示的堆栈处弹出一个元素。
public void push(E e):将元素推入此列表所表示的堆栈。
public boolean isEmpty() :如果列表不包含元素,则返回true

 */
public class  Linklist {
    public static void main(String[] args) {
        //创建LinkedList集合对象
        LinkedList<String> linklist = new LinkedList<>();
        //addFirst(E,e)
        linklist.addFirst("hello");
        linklist.addFirst("hehe");
        linklist.addFirst("xixi");
        System.out.println(linklist);
        System.out.println("======&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值