博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合的常用类以及特点
阅读量:5849 次
发布时间:2019-06-19

本文共 1039 字,大约阅读时间需要 3 分钟。

 

集合的两个顶级接口分别为:Collection和Map

Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序的(存取顺序一致),可以通过List脚标来获取指定元素;而Set不可以有重复元素,元素是无序的。

List接口中,比较常用的类有三个:ArrayList、Vactor、LinkedList。

ArrayList :线程不安全的,对元素的查询速度快。

Vector :线程安全的,多了一种取出元素的方式:枚举(Enumeration),但已被ArrayList取代。

LinkedList :链表结构,对元素的增删速度很快。

Set接口中,比较常用的类有两个:HashSet、TreeSet:

HashSet:要保证元素唯一性,需要覆盖掉Object中的equals和hashCode方法(因为底层是通过这两个方法来判断两个元素是否是同一个)。

     

TreeSet:以二叉树的结构对元素进行存储,可以对元素进行排序。

      排序的两种方式:

             1、元素自身具备比较功能,元素实现Comparable接口,覆盖compareTo方法。

             2、建立一个比较器对象,该对象实现Comparator接口,覆盖compare方法,并将该对象作为参数传给TreeSet的构造函数(可以用匿名内部类)。

 

Map接口其特点是:元素是成对出现的,以键和值的形式体现出来,键要保证唯一性:常用类有:HashMap,Hashtable ,TreeMap。

HashMap:线程不安全等的,允许存放null键null值。

Hashtable:线程安全的,不允许存放null键null值。

TreeMap:可以对键进行排序(要实现排序方法同TreeSet)。

Collection和Map两个接口对元素操作的区别:

存入元素:

Collection接口下的实现类通过add方法来完成,而Map下是通过put方法来完成。

取出元素:

Collection接口下:List接口有两种方式:1、get(脚标);2、通过Iterator迭代方式获取元素;而Vactor多了一种枚举(Enumeration)的方式。Set接口通过迭代的方式获取元素。

Map接口下:先通地keySet获取键的系列,然后通过该系列使用Iterator迭代方式获取元素值

 

转载于:https://www.cnblogs.com/jaffee-L/p/9717277.html

你可能感兴趣的文章
用getBoundClientRect检测浏览器滚动到底部事件
查看>>
chart. js 官方文档中文译本
查看>>
PHP核心技术与最佳实践(第一章 面向对象思想的核心概念)
查看>>
1、JDBC 2、DBUtils
查看>>
php+kafka+zookeeper+logstash
查看>>
拼写检查教程
查看>>
mysql安装及服务启动错误
查看>>
基于Redis的简单分布式爬虫
查看>>
android源码分析-深入looper handler message
查看>>
使用 Electron 调用系统对话框
查看>>
re:Invent第三天:除了拥抱混合云,AWS还一口气发了这些新产品
查看>>
中国在两年内赶超美国AI?李开复:不一定
查看>>
Cordova是否适用于你的目标行业?
查看>>
用WinForm/WPF代码来为.NET Core 3.0功能投票
查看>>
微软宣布提供Azure Cognitive Services容器支持
查看>>
Uber:大规模系统下如何构建可伸缩的告警生态系统\n
查看>>
TypeScript 2.5 发布,增加语言级重构
查看>>
网易戏精ARCore短视频新玩法实践
查看>>
百度App网络深度优化系列(二):连接优化
查看>>
JUnit 5发布
查看>>