一、Set集合

其主要实现类有HashSet、TreeSet。存放对象的引用,不允许有重复对象。

子类对象HashSet

调用对象的hashCode()方法,获得哈希码,然后再集合中计算存放对象的位置。通过比较哈希码与equals()方法来判别是否重复。所以,重载了equals()方法同时也要重载hashCode()方法。

TreeSet

继承ShortedSet接口,能够对集合中对象排序。默认排序方式是自然排序,但该方式只能对实现了Comparable接口的对象排序,java中对Integer、Byte、Double、Character、String等数值型和字符型对象都实现了该接口。

如果有特殊排序,须重载该接口下的compareTo()方法或通过Comparator接口的实现类构造集合。

特点:Set接口(无序并且不允许有重复对象)

二、List集合

其主要实现类有LinkedList、ArrayList,前者实现了链表结构,后者可代表大小可变的数组。

List的特点是能够以线性方式储蓄对象,并允许存放重复对象。List能够利用Collections类的静态方法sort排序。sort(List list)自然排序;sort(List listm,Comparator codddmparator)客户化排序。

特点:List线性集合接口(有序并且可重复)

ArrayList:动态数组[可变长度的动态数组];

LinkedList:链表结构的集合

区别:LinkedList经常用在增删操作较多而查询操作很少的情况下,ArrayList则相反。

三、Map集合

其主要实现类有HashMap、TreeMap。Map对值没有唯一性要求,对健要求唯一,如果加入已有的健,原有的值对象将被覆盖。HashMap类按照哈希算法来存取键对象,可以重载equals()、hashCode()方法来比较键,但是两者必须一致。TreeMap,可自然排序,也可通过传递Comparator的实现类构造TreeMap。

特点:Map键值对存储结构的集合(无序。 键值对、键唯一、值不唯一)

HashMap是最常用的Map

特点:它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。因为键对象不可以重复,所以HashMap最多只允许一条记录的键为Null,允许多条记录的值为Null,是非同步的

Hashtable与HashMap类似,是HashMap的线程安全版,它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtale在写入时会比较慢,它继承自Dictionary类,不同的是它不允许记录的键或者值为null,同时效率较低。

java描述常用的集合类_Java常用的三大集合类相关推荐

  1. java描述常用的集合类_Java常用的集合类

    集合类的由来 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储. 集合的特点: 1.用于存储对象的容器 2.集合的长度是可变的 3.集合中不可以存储基本数据类型值 框 ...

  2. java开源的规则引擎_Java常用的规则引擎

    概述 在本文中,我们将介绍Java中一些最受欢迎的规则引擎. 规则引擎简介 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编 ...

  3. java常用class类_java常用类

    java常用类 内部类 1.成员内部类:在一个类的内部定义一个完整的类 例如:外部类public class Body{ 内部类class Header{ } } 内部类可以直接访问外部类的私有成员, ...

  4. java文件读写的基本类_java常用工具类(三)—— 文件读取的操作类

    定义常用的文件类型 public class FileType { /** * 文件头类型 */ public static final String XML_FILE = "text/xm ...

  5. java常用英文单词发音_java常用英语单词(带音标)

    第一章: public['pʌblik] 公共的,公用的 static['stætik] 静的;静态的;静止的 void:[vɔid] 空的 main:[mein] 主要的 重要的 class:[kl ...

  6. java常用的缓存_java 常用缓存 - 只对肉有感觉的个人空间 - OSCHINA - 中文开源技术交流社区...

    缓存是日常开发的粗茶淡饭,如果应用对某类数据有着较高的读取频次,并且改动较小时那就非常适合利用缓存来提高性能 JVM 缓存 使用全局变量,如 Map.List等容器用于存放数据,可以认为是堆缓存 eh ...

  7. Java常用API例子_Java常用API及Math类

    一.API的概述 API--Application Programing Interface:应用程序编程接口,是java提供的一些预定义的函数: 目的:基于API实现程序的快速编写,只需了解其作用, ...

  8. java 常用类 练习_Java常用类之String类练习

    1.编程. 已知字符串:"this is a test of java". 按要求执行以下操作: (1) 统计该字符串中字母s出现的次数 (2) 取出子字符串"test& ...

  9. java中拼接xml方法_Java常用工具类,拼接XML格式的字符串,非常好用

    import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; import java.u ...

最新文章

  1. Latex:图片及子图排版
  2. 在.NET Core程序中设置全局异常处理
  3. 巨潮网怎么下载年报_上市公司年报(或财务报表)在哪里下载?
  4. json.dumps与json.dump的区别 json.loads与json.load的区别(简洁易懂)
  5. 数据绑定表达式语法(Eval,Bind区别)
  6. ASP.NET MVC Html.BeginForm用法1
  7. python 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址_[LeetCode] 468. 验证IP地址
  8. python快速编辑入门答案_1.1、Python快速入门(0529)
  9. 2021高考厦门一中成绩查询,2021年厦门中考成绩排名查询,厦门中考个人成绩排名查询...
  10. Linux用户层和内核文件读写
  11. 【2023】浙江大学计算机考研信息汇总
  12. 【题解】【LibreOJ Round #6】花团 LOJ 534 时间线段树分治 背包
  13. 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548
  14. 超光滑!竟如此光滑——白光干涉仪超光滑镜片应用
  15. 二维码的20种商业应用模式
  16. 手机数字雨_cmd命令如何实现数字雨的效果
  17. 变频技术在起重机上的应用
  18. 一矢多穿:多目标排序在爱奇艺短视频推荐中的应用
  19. SkinnedMesh DX9
  20. STM32应用实例十四:利用光敏二极管实现光度测量

热门文章

  1. 云服务器ECS挖矿木马病毒处理和解决方案
  2. 使用虚拟机安装Linux系统常见的错误以及解决方案
  3. 解决WAS报错SRVE0207E: servlet 创建了未捕获到的初始化异常
  4. office(Word、Excel、PPT等图标异常和桌面无新建解决方案)
  5. 禁用software reporter tool.exe 解决CPU高占用率的问题
  6. 问题解决笔记,Restarting network (via systemctl):: Job for network.service failed. ...
  7. linux下搭建redis并解决无法连接redis的问题
  8. 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题
  9. html高度塌陷问题解决
  10. npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?