【小白学Java】D22》》》List集合(Arraylist集合、LinkedList集合)& Vector集合


【友情链接】———–—>Java中的各种集合大汇总,学习整理
【友情链接】————–> Collection集合
【友情链接】————–> ArrayList集合及其常用功能
【友情链接】————–> ArrayList应用<两大案例的数据分组聚合>
【友情链接】———–—> Iterator迭代器
【友情链接】———–—>List集合 & LinkedList集合 & Vector集合
【友情链接】———–—>set集合 & HashSet集合 & 哈希值& LinkedHashSet集合 &TreeSet集合&可变参数
【友情链接】———–—>Map集合 & HashMap集合 & LinkedHashMap集合&HashTable集合
【友情链接】———–—>Collections类集合工具类


List集合

java.util.List extends Collection

List接口的三大特点:

  • 1.List集合是有序的集合,该集合的存储元素和取出元素的顺序是一致的,例如:存储的abcd,那么,取出的也是abcd
  • 2.List集合中含有索引,并且List集合中有带索引的方法
  • 3.List集合中可以存储重复的数据

List集合常用功能

    public static void main(String[] args) {
        //创建一个list集合,使用多态
        List<String> list=new ArrayList<>();
        //向list集合中添加元素
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        list.add("b");
        list.add("a");
        System.out.println(list);
        //打印 [a, b, c, d, a, b, a]  重写了toSting方法
     }

在这里插入图片描述

1.public void add(int index,E eLement):将指定的元素添加到集合中的指定位置上。

 //1.public void add(int index,E eLement):
 //将指定的元素添加到集合中的指定位置上。
 System.out.println("**将指定的元素,添加到该集合中的指定位置上。**");
 list.add(4,"java");
 System.out.println(list);

在这里插入图片描述

2.public E get(int index) :返回集合中指定位置的元素。

 //2.public E get(int index) :返回集合中指定位雷的元素。
 
 System.out.println("**返回集合中指定位雷的元素。**");
 String gl = list.get(4);
 System.out.println(gl);
 
// String gl1 = list.get(8);
//java.lang.IndexOutOfBoundsException: Index: 8, Size: 8 下标越界异常
//System.out.println(gl1);

在这里插入图片描述

3. public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。

//3. public E remove(int index):
//移除列表中指定位置的元素,返回的是被移除的元素。
System.out.println("**移除列表中指定位置的元素,返回的是被移除的元素。**");
String remove = list.remove(5);
System.out.println("remove:\t"+remove);
System.out.println(list);

在这里插入图片描述

4. public E set(int index,E element) :用指定元素替换集合中指定位置

//4. public E set(int index,E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素
System.out.println("**用指定元素替换集合中指定位置的元素,返回值的更新前的元素**");
String set = list.set(6, "hadoop");
System.out.println("set:\t"+set);
System.out.println(list);

在这里插入图片描述

List集合的实现类有Arraylist集合、LinkedList集合、Vector集合

Arraylist集合

ArrayList集合存储的数据的结构为数组,对arraylist集合中的元素增加和删除速度慢(增删慢),但是对集合中数据的查找数组快(查找快),在开发过程中我们使用的最多的功能就是对数据的查找和遍历,所以ArrayList集合是最常用的集合。
ArrayList集合之前已经有过一篇文章专门的介绍过了,附上链接:
【友情链接】————–> ArrayList集合及其常用功能

LinkedList集合

LinkedList集合在java.util包下

LinkedList集合,存储的数据结构是链表结构(是一个双向线性表)而链表结构是很方便对元素进行添加和删除操作的。

LinkedList集合的特点:

  • 1.LinkedList集合的底层是链表结构(一个双向的线性表),查找数据的速度比较慢,但是对数据的增加和删除的操作就很快(查找较慢,增删较快)
  • 2.LinkedList集合中有很多的操作集合首尾部(首部和尾部)的元素的方法

LinkedList集合的常用方法:

注意;当使用LinkedList集合的特有方法时,不能使用多态来创建LinkedList集合

向LinkedList集合中添加元素的3种方法

  1. public void addFirst(E e):把指定的元素数据插入到列表的开头。
  2. public void addLast(E e):把指定的元素数据添加到列表的尾部。效果等同于add()方法
  3. public void push(E e):把指定的元素数据推入到列表所表示的堆栈中。效果等同于addFirst(E e)方法
       //创建linkedList集合对象linkedList
       LinkedList<String> linkedList = new LinkedList<>();
       //使用add()方法向集合中添加元素
       linkedList.add("a");
       linkedList.add("b");
       linkedList.add("c");
       linkedList.add("d");
       linkedList.add("a");
       System.out.println(linkedList);
       //打印 [a, b, c, d, a]

//1. public void addFirst(E e):把指定的元素数据插入到列表的开头。
linkedList.addFirst("listhead");
System.out.println(linkedList);

//2.public void addLast(E e):把指定的元素数据添加到列表的尾部。效果等同于add()方法
System.out.println("------------------");
linkedList.addLast("listlast");
System.out.println(linkedList);

//3.public void push(E e):把指定的元素数据推入到列表所表示的堆栈中。效果等同于addFirst(E e)方法
System.out.println("------------------");
linkedList.push("listpush");
System.out.println(linkedList);

在这里插入图片描述

向LinkedList集合中移除元素的3种方法

  • publie E removeFirst():移除并且返回集合中的第一个元素数据。
  • public E removeLast():移除并且返回集合中的最后一个元素数据。
  • public E pop( ):从集合所表示的堆栈中弹出一个元素数据。其效果等价于 removeFirst()方法
//1.publie E removeFirst():移除并且返回集合中的第一个元素数据。
 System.out.println("------------------");
 String first = linkedList.removeFirst();
 System.out.println(first);
 System.out.println(linkedList);

 //2.public E removeLast():移除并且返回集合中的最后一个元素数据。
 System.out.println("------------------");
 String last = linkedList.removeLast();
 System.out.println(last);
 System.out.println(linkedList);

 //3.public E pop( ):从集合所表示的堆栈中弹出一个元素数据。其效果等价于 removeFirst()方法
 System.out.println("------------------");
 String pop = linkedList.pop();
 System.out.println(pop);
 System.out.println(linkedList);

在这里插入图片描述

获取LinkedList集合中元素的3种方法

  • public E getFirst();获取集合中的第一个元素数据
  • public E getLast():获取集合中的最后一个元素数据
  • public E get(): 获取集合中指定的下标的元素数据

//创建linkedList集合对象linkedList
LinkedList<String> linkedList = new LinkedList<>();
//使用add()方法添加元素
linkedList.add("a");
linkedList.add("b");
linkedList.add("c");
linkedList.add("d");
linkedList.add("a");

linkedList.addFirst("listhead");
linkedList.addLast("listlast");

System.out.println(linkedList);
//打印 [listhead, a, b, c, d, a, listlast]

//1.public E getFirst();获取集合中的第一个元素数据
String first = linkedList.getFirst();
System.out.println("first:\t"+first);

//2.public E getLast():获取集合中的最后一个元素数据
String last = linkedList.getLast();
System.out.println("last:\t"+last);

//3.public E get(): 获取集合中指定的下标的元素数据
System.out.println("**获取指定下标元素**");
String get = linkedList.get(3);
System.out.println(get);

在这里插入图片描述

判断LinkedList集合中是否有元素

  • public boolean isEmpty():若集合中不包含元素,那么就返回true

//创建linkedList集合对象linkedList
LinkedList<String> linkedList = new LinkedList<>();
//使用add()方法添加元素
linkedList.add("a");
linkedList.add("b");
linkedList.add("c");
linkedList.add("d");
linkedList.add("a");

linkedList.addFirst("listhead");
linkedList.addLast("listlast");

System.out.println(linkedList);
//打印 [listhead, a, b, c, d, a, listlast]

//清空LinkedList集合
linkedList.clear();
System.out.println(linkedList);//[] 重写了toString方法

//public boolean isEmpty():如果集合中不包含元素,那么返回true
boolean empty = linkedList.isEmpty();
System.out.println("isEmpty:\t"+empty);

在这里插入图片描述

简单了解下Vector集合

vector集合是搜有单列集合的"祖宗",它是从jdk1.0版本就存在了

  • Vector类可以实现可增长的对象数组
  • Vector集合与ArrayList结构一样,底层也是一个数组,包含可以使用整数索引进行访问的组件。

从jdk1.2开始,此类改进为可以实现 List 接口,使它成为Java Collections Franework的成员。与新collection实现不同,Vector是同步的。



制作不易,各位友友们,大佬们给点鼓励!

点赞👍 收藏+关注 一键三联走起!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北慕辰

你的鼓励是小北最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值