获取list集合中某一元素的值_Java 进阶:集合框架2

本文深入探讨Java集合框架中的List接口,包括List接口的特点、抽象方法及遍历方式。同时,讲解了ListIterator接口的逆向遍历功能,以及在遍历过程中可能出现的并发修改异常。此外,文章还对比分析了ArrayList、LinkedList和Vector集合的特性和使用场景,以及Set接口中的HashSet和TreeSet实现,强调了自定义对象在这些集合中存储时重写equals和hashCode方法的重要性。
摘要由CSDN通过智能技术生成

目录

一、List 接口
1. 概述
2. List 接口中的抽象方法(特有)
3. List 遍历
二、ListIterator 接口
1.概述
2. ListIterator 接口的抽象方法
3. List 逆向遍历:
三、迭代器的并发修改异常
1. 迭代器的并发修改异常
2. 出现场景:
3. 原因:
四、ArrayList 、LinkedList 集合
1. ArrayList 集合
2. LinkedList 集合
3. Vector 集合(基本不用)
五、Set 接口
六、 HashSet (哈希表)
1. 特点
2. 哈希表的数据结构
3. 字符串对象的哈希值
4. 哈希表的存储过程
5. 哈希表的存储自定义对象
6. LinkedHashSet 集合
7. ArrayList,HashSet 判断对象是否重复的原因
七、TreeSet
1.概述
2. TreeSet如何实现,不能存储重复元素
3. 向TreeSet中放入,自定义的类的对象
4. 注意事项


一、List 接口

1. 概述

  • 继承 Collection 接口,它是一个元素存取 有序 的集合

例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)

  • 它是一个 带有索引 的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)
  • set 不同,List可以有重复的元素,通过元素的 equals 方法,来比较是否为重复的元素
  • List 接口的常用实现类有:
  • ArrayList 集合
  • LinkedList 集合

2. List 接口中的抽象方法(特有)

  • add(int index, Object e) : 向集合指定索引处,添加指定的元素,原元素依次 后移
  • remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素
  • set(int index,E element):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素
  • get(int index):获取指定索引处的元素,并返回该元素

3. List 遍历

List a = new LinkedList<>();a.add(new Person("zs",10));a.add(new Person("lisi",20));a.add(new Person("wangwu",30));//利用Iterator来遍历ListIterator iterator = a.iterator();//利用迭代器对象遍历while(listItr.hasNext()) {    System.out.println(listItr.next());}//List独有的遍历方式for (int i = 0; i < a.size(); i++) {    System.out.println(a.get(i));}

二、ListIterator 接口

1.概述

  • List 不仅有自己独有的迭代方式,还有自己独有的迭代器: ListIterator

2. ListIterator 接口的抽象方法

  • add(E, e):将指定元素插入列表
  • boolean hasPrevious():逆向遍历列表,若列表迭代器有多个元素,则返回 true,也就是判断是否有前一个元素
  • previous() :返回列表的前一个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值