当前位置: 首页 > article >正文

java 集合对象

Java 基础之集合_java集合继承关系图-CSDN博客

集合可以有序或无序,重复或不能重复,空或不能空。

List<> 集合,是有序,允许重复元素,允许空元素

1、ArrayList<>  非线程安全

2、LInkedList<> 非线程安全

Doubly-linked list implementation of the List and Deque interfaces. 

是实现List  和 Deque的双向列表

3、vector 是线程安全的,容量大小可以改变,跟数组一样索引访问

4、栈

Stack<E> extends Vector<E> 

Queue

public interface Queue<E> extends Collection<E> {

public interface Deque<E> extends Queue<E>

A linear collection that supports element insertion and removal at both ends. The name deque is short for "double ended queue" 

ArrayDeque  非线程安全

Null elements are prohibited. This class is likely to be faster than Stack when used as a stack, and faster than LinkedList when used as a queue

Set<>集合元素不能重复,最多允许一个空元素

HashSet<>  非线程安全

this class implements the Set interface, backed by a hash table (actually a HashMap instance). 

TreeSet<> 非线程安全

A NavigableSet implementation based on a TreeMap. The elements are ordered using their natural ordering, or by a Comparator provided at set creation time, depending on which constructor is used.
This implementation provides guaranteed log(n) time cost for the basic operations (add, remove and contains).

Map<>集合

1、HashMap<> 不能保证顺序,key 不能重复,允许空key 和空val

2、TreeMap 可以保证顺序,非线程安全,是排序的map

基于红黑树,时间复杂度log(n)

A Red-Black tree based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map creation time, depending on which constructor is used.
This implementation provides guaranteed log(n) time cost for the containsKey, get, put and remove operations. Algorithms are adaptations of those in Cormen, Leiserson, and Rivest's Introduction to Algorithms.

3、Hashtable<> 是线程安全的,不允许空key 和 空val


http://www.kler.cn/a/446330.html

相关文章:

  • Java模拟Mqtt客户端连接Mqtt Broker
  • 电商数据流通的未来:API接口的智能化与自动化趋势
  • Clickhouse(Centos)
  • 使用 datamodel-code-generator 从 MySQL 生成 Python 模型
  • threejs 建筑设计(室内设计)软件 技术调研之四 墙体添加真实门窗并保持原材质
  • 基底展开(Expansion in a Basis):概念、推导与应用 (中英双语)
  • JAVA获取高德地图信息
  • 【时间之外】IT人求职和创业应知【71】-专利费
  • 数据仓库有哪些?
  • Debian 10上使用UFW设置防火墙
  • 【C++】list模拟实现
  • 授权模型MAC
  • Transform组件的用法
  • QML 中的键盘事件
  • python实现Word转PDF(comtypes、win32com、docx2pdf)
  • 如何与AI对话,写好Prompt
  • ffmpeg翻页转场动效的安装及使用
  • xlua中自定义lua文件加载的一种方式
  • 金融信息系统多活技术-应用策略
  • 实现Python将csv数据导入到Neo4j
  • 第2节-Test Case如何调用Object Repository中的请求并关联参数
  • ECharts热力图-笛卡尔坐标系上的热力图,附视频讲解与代码下载
  • pymssql-2.1.4.dev5-cp37-cp37m-win_amd64.whl 安装
  • 12月第十九讲:Redis应用Redis相关解决方案
  • 基于“2+1 链动模式商城小程序”的微商服务营销策略探究
  • Go语言zero框架中配置文件config加载与执行不同环境配置