java中单列集合的根接口是_java 单列集合总结

Collection 接口

add()

remove()

contains()

clear();

size();

迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度)

List接口 单列集合 有序可重复 有索引

add(index,obj)

remove(index)

get(index)

set(index,obj)

List的遍历

for循环

迭代器

使用集合步骤

创建集合对象

创建元素对象(引用数据类型(包含基本数据类型包装类对象))

调用集合方法,增删改查

使用迭代器遍历集合(ListIterator 列表迭代器,可以在遍历过程中修改集合长度)

hashNext查看是否有下一个元素

如果有:调用next方法获取

二个儿子 Vector(自行利用API文档学习)

线程不安全:高效

ArrayList:底层是数组结构,查询快,增删慢

LinkedList:底层链表结构,查询慢,增删快

到底改用谁?

查询多:ArrayList

增删多:LinkedList

如果你根本不知道改用谁,就用ArrayList

Set接口 单列集合 无序不可重复

元素唯一,无序(存储和读取的顺序可能不一致)

HashSet

如何保证元素唯一?底层数据结构是哈希表,依赖于元素的哈希值

最终:hashcode方法和equals方法

顺序:

先比较hashcode的返回值

相同:继续调用equals方法比较元素的内容

不相同:直接添加到集合

HashSet存储基本数据类型和String:因为基本数据额类型包装类以及String重写hashCode和equals方法

HashSet存储自定义类型:需要重写hashcode和equals方法

TreeSet

如何保证元素唯一?

根据compareTo方法的返回值是不是0

如何元素排序

1. 元素所在的类实现Comparable接口,重写compareTo方法

2. 集合具有比较性,创建TreeSet集合对象的时候调用有参构造方法,传入比较器对象(匿名内部类)

遍历集合:迭代器和增强for循环

LinkedHashSet

底层是哈希表和链表

保证元素唯一和元素有序

增强for循环!!!!

集合遍历

for(元素类型 变量名:集合名){

强转 Object转为子类对象 使用子类的特有成员!!!!!!

输出变量名就是集合中的每一个元素

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,有多种单列集合可供使用。其一些常见的单列集合包括: - ArrayList:ArrayList是基于数组实现的动态数组,可以根据需要自动扩展容量。它允许存储重复元素,并且可以按索引访问元素。 - LinkedList:LinkedList是基于链表实现的集合,它可以高效地进行插入和删除操作。与ArrayList相比,LinkedList在随机访问方面性能较差,但在插入和删除操作方面更加高效。 - HashSet:HashSet是基于哈希表实现的集合,它不允许存储重复元素,并且不保证元素的顺序。HashSet提供了常数时间的插入、删除和查找操作。 - TreeSet:TreeSet是基于红黑树实现的有序集合,它按照元素的自然顺序进行排序,或者根据提供的Comparator进行排序。TreeSet不允许存储重复元素。 - LinkedHashSet:LinkedHashSet是基于哈希表和链表实现的有序集合,它按照元素插入的顺序进行排序。LinkedHashSet允许存储重复元素。 - PriorityQueue:PriorityQueue是基于优先级堆实现的队列,它根据元素的优先级进行排序。PriorityQueue允许存储重复元素,并且提供了常数时间的插入和删除最小元素的操作。 以上是一些常见的单列集合,每种集合都有其特定的用途和适用场景。具体选择哪种集合取决于你的需求和性能要求。 #### 引用[.reference_title] - *1* *2* *3* [JavaCollection单列集合](https://blog.csdn.net/m0_60489526/article/details/119830185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值