java容器基础

本文总结了Java容器知识,先整理了Java集合框架,指出常用容器分单值存储的Collection和双值存储的Map。介绍了Collection接口及其子接口List、Set的常用方法和实现类,还提及Map接口及相关实现类,最后补充了重复、排序等问题。

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

总结一下学过的java容器知识。

一、java容器框架

 由于之前学习的java容器类比较混乱,先简单的整理一下java集合框架。

首先,像这种图,网上到处都是,因为这个也算比较准确吧,我也懒得自己画了,因为我觉得这个目前对我来说不重要,这么多东西,并不是都用得到,其实日常写代码就只用到过几种,像最常用的ArrayList、HashMap等,在这里我只总结一些最基础的、常用的,希望对java初学者有所帮助。常用的java容器主要分为两大类:用于单值存储的Collection和用于双值存储的Map。这两个java容器类的最基础接口,那么我们主要用到的他们的哪些实现呢?

二、Collection接口

1,Collection接口是java集合类的基础接口。

collection主要方法:

  1. boolean add(Object o)添加对象到集合
  2. boolean remove(Object o)删除指定的对象
  3. int size()返回当前集合中元素的数量
  4. boolean contains(Object o)查找集合中是否有指定的对象
  5. boolean isEmpty()判断集合是否为空
  6. Iterator iterator()返回一个迭代器
  7. void clear()删除集合中所有元素
  8. boolean containsAll(Collection c)查找集合中是否有集合c中的元素
  9. boolean addAll(Collection c)将集合c中所有的元素添加给该集合
  10. void removeAll(Collection c)从集合中删除c集合中也有的元素
  11. void retainAll(Collection c)从集合中删除集合c中不包含的元素

前7个方法都是比较常用的,Collection接口又有常用的两个子接口,List接口和Set接口。

2,List接口中的元素是有序可重复的。

List接口有三个实现类:ArrayList,LinkList,Vector。

ArrayList是基于数组接口的集合类,所以数据的查询比较快,LinkList底层是双向链表实现的,所以增删比较快。Vector和特们的不同之处是Vector是线程安全的,效率也比较低,不太常用,在java的集合类中有一个很奇怪的现象,就是往往很多线程安全的东西,都不会经常用到,人们更喜欢把线程不安全的东西用一些特殊的方法使他变得线程安全,具体什么原因,在网上也查不到,还是要加紧学习啊!

3,Set接口中的元素是不可重复的。

Set接口有两个常用的实现类:HashSet,TreeSet。

HashSet是用的最多的,TreeSet用的则比较少,前者存储的元素是无序的(基于哈希表实现),后者存储的元素是有序的(基于二叉树)。两者都是线程不安全的。

 

三、Map接口

1,Map接口是java双值存储的最基础接口

Map主要方法:

2,HashMap

3,HashTable

4,TreeMap

 

四、补充

1,重复问题

2,排序问题

3,java数据接口

https://study.163.com/course/courseMain.htm?courseId=1006190095

 

五、总结

实现类/特性线程安全存取速度数据结构使用频率迭代方法
ArrayList     
LinkList     
Vector     
HashSet     
TreeSet     
HashMap     
HashTable     

转载于:https://www.cnblogs.com/m1996/p/11051215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值