java集合架构

Collection接口 与 Map接口
1 、collection接口
特点:元素是 无序可重复的集合,无索引的,元素是单例值
子类 :set接口 list接口
1.1 set接口
特点:元素是无需不重复,无索引,底层数据结构是哈希表
对应引用类型元素依赖两个方法:hashCode()和equels()来保证元素的唯一性
实现类:
Hashset实现类
特点: 添加元素是无序不重复,无索引的
实现类:LinkedHashSet
特点:元素有序不重复的
TreeSet实现类
特点: 元素是不重复可排序的(默认升序)
底层数据结构是红黑树
1.2 List接口
特点:元素是有序有索引可重复的
实现类:
LinkedList:底层数据结构是链表,查询慢,增删快。线程不安全,效率高
Vector 底层数据结构是数据,查询快,增删慢。线程安全,效率低
ArrayList 底层数据结构是数据,查询快,增删慢。线程不安全,效率高
2 、map接口
特点:元素是键值对,元素特性有“键”决定,键的要求是无需不重复
实现类:
2.1 HashMap实现类
特点:元素是无需不重复的,线程不安全,性能好,高并发下容易出现问题
底层数据结构是哈希表 允许存放null键null值
LinkedHashMap实现类:元素是有序不重复的额,新加了链保证添加顺序
2.2 IdetityHashMap 实现类:严格按照元素的引用进行重复比较,无序不重复的
2.3 Hashtable 实现类: 元素是无序不重复的,线程安全,使用共享锁,性能差,高并发下竞争越激烈性能越差 不允许存放null键null值
2.4 ConcurrentHashMap 实现类: 元素是无序不重复的,线程安全,使用分段锁,性能得到了优化,高并发下建议使用
2.5 TreeMap 实现类: 元素是不重复课排序的额(默认升序), 底层数据结构基于红黑树 对应引用类型元素依赖两个方法:hashCode()和equals()来保证元素值得唯一性
2.6 Properties 实现类:通常用于生成或者解析属性配置文件,属性文件中的数据就是键值对
java集合架构的更多相关文章
- Java 集合系列 08 Map架构
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 02 Collection架构
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列目录(Category)
下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录. 01. Java 集合系列01之 总体框架 02. Java 集合系列02之 Collection架构 03. Java 集合系 ...
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 17 TreeSet
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 16 HashSet
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 15 Map总结
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 14 hashCode
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
随机推荐
- cadence元件放置方法
在导入网表之后,需要放置元件,介绍几种常见的放置元件的方法和常用的几种元件操作方法.
- JavaScript / 本地存储
cookie 首先让我们先了解一下,什么是cookie,cookie是浏览器提供的一种机制,他将document.cookie的接口提供给JavaScript使其可以对cookie进行控制,但cook ...
- Linux指令 压缩与解压
打包: 格式:tar -cvf 压缩后的名称.tar 压缩的文件1 压缩的文件2 ```压缩的文件n(压缩多个文件为一份时各个文件以空格隔开) 例子:tar -cvf tomcats.tar ...
- 解决Visual Studio 加载符号卡死情况
VS 加载符号 过慢或卡死的情况都可以用这种方法 打开VS的[工具]-[选项]-[调试]-[符号], 如下图所示: 1. 先取消勾选 ”Microsoft符号服务器” 2. 再点击 “清空符号缓存” ...
- zepto与jquery冲突的解决
一般是不会把zepto和jquery一起来用的.但有时候要引入一些插件,可能就会遇到这样的问题. jquery noConflict() jquery有一个方法叫noConflict() ,可以把jq ...
- Mysql索引最左匹配原则
先来看个例子: 1. 示例1:假设有如下的一张表: DROP TABLE IF EXISTS testTable; CREATE TABLE testTable ( ID BIGINT NOT NUL ...
- [Swift]LeetCode824. 山羊拉丁文 | Goat Latin
A sentence S is given, composed of words separated by spaces. Each word consists of lowercase and up ...
- 像素数据YUV简介与觉存储格式介绍
主要学习链接:博客园.51CTO 前言 照例是先废话几句,下面的内容都是在学习时从网上找来的,并非我原创,我之所以要写这篇笔记是因为网的内容都很分散,找的时候要从各个地方看,很不方便,所以就自己总结了 ...
- Python档案袋( Json、pickle、加密与解密)
Json是各程序通用的数据格式:pickle是Python特有的,可以存储很多Python特有的数据,如函数地址等 Json的简单使用: import json jsondata={ "us ...
- kubernetes系列之ConfigMap使用方式
作用理解 核心用途就是容器和配置的分离解耦. 如启用一个mysql容器,mysql容器重要的文件有两部分,一部分为存储数据文件,一部分为配置文件my.cnf,存储数据可以用持久存储实现和容器的分离解耦 ...