Collection和Map集合
前言
集合的长度是可变的、集合存储的都是对象。而且对象的类型可以不一致。
Collection集合和Map集合是所有集合的父接口。
Collection接口定义
体系结构的根接口,代表一组对象,有两个子接口List、Set接口。
- List接口: 有序,有下标,元素可重复。
- Set接口: 无序,无下标,不能重复。
Collection接口抽象方法
public boolean add(E e)
: 把给定的对象添加到当前集合中 。public void clear()
:清空集合中所有的元素。public boolean remove(E e)
: 把给定的对象在当前集合中删除。public boolean contains(E e)
: 判断当前集合中是否包含给定的对象。public boolean isEmpty()
: 判断当前集合是否为空。public int size()
: 返回集合中元素的个数。public Object[] toArray()
: 把集合中的元素,存储到数组中。default Stream<E> parallelStream()
:把集合转变成流对象,进行Lambda表达式的使用。
Collection接口主要实现类
ArrayList
: 底层采用数组实现,有序,查询快,增删慢。LinkedList
: 底层采用双向链表实现,有序,查询慢,增删快。LinkedHashSet
: 底层采用散列表实现,使用链表+红黑树的搭配解决哈希冲突的问题,无索引、不可以存储重复元素,但是多了一个维护数据存储顺序的链表。HashSet
:底层采用散列表实现,使用链表+红黑树的搭配解决哈希冲突的问题,无索引、不可以存储重复元素、存取无序。
Map接口定义
元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。
Map接口抽象方法
public V put(K key, V value)
: 把指定的键与指定的值添加到Map集合中。public V remove(Object key)
: 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。public V get(Object key)
: 根据指定的键,在Map集合中获取对应的值。boolean containsKey(Object key)
: 判断集合中是否包含指定的键。public Set<K> keySet()
: 获取Map集合中所有的键,存储到Set集合中。public Set<Map.Entry<K,V>> entrySet()
: 获取到Map集合中所有的键值对对象的集合(Set集合)。
Map接口主要实现类
HashMap
: 底层采用散列表+链表+红黑树,线程不安全的Map。HashTable
: 现已不推荐使用,使用ConcurrentHashMap进行替换。但是他有一个子类Properties类,唯一一个和文件读取打交道的集合类。多用于配置文件的读取ConcurrentHashMap
: jdk1.8底层采用CAS+Synchronize技术来保障线程安全。底层采用数组+链表+红黑树的存储结构,也就是和HashMap一样。LinkedHashMap
:底层用的是链表来进行的存储,有序。
Properties文件读取类
定义:
是Java 语言的配置文件所使用的类。
常用方法:
public synchronized void load(Reader reader) throws IOException
: 加载需要读取的配置文件。public void store(Writer writer, String comments)throws IOException
: 加载需要写入的配置文件。public String getProperty(String key)
: 根据Key获取对应的value,key=value
。public synchronized V put(K key, V value)
:存储要写入的key和value。public void list(PrintStream out)
:遍历集合,输出所有的key和value。
tips:集合中key不能重复。
Collection和Map集合的更多相关文章
- Java Collection、Map集合总结
1.Java中的Collection集合总结 Collection |---List(存储有序,可重复) |---ArrayList 底层数据结构是数组,查询快,增删慢. 线程不安全.效率高 |--- ...
- scala中Map集合的简单使用
import scala.collection.mutable /** * Map集合的简单使用 */ object MapUse { def main(args: Array[String]): U ...
- Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、
特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣) ...
- 初识Java集合框架(Iterator、Collection、Map)
1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List ...
- JAVA集合详解(Collection和Map接口)
原文地址http://blog.csdn.net/lioncode/article/details/8673391 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父 ...
- Java集合框架(Collection Framework)学习之 Collection与Map概貌
写过Java的人都知道Java集合类,也用过Java集合类.Java集合类位于 java.util 这个包下,就像它的包名暗示的那样,Java集合类就是一套工具.它就像工匠的工具箱一样,它能给使用它的 ...
- 【Java】集合概述Collection、Map
Java集合分为Collection和Map,Collection又分为List.Set. List中有ArrayList.LinkedList和Vector:Set中又分为HashSet和TreeS ...
- 理解java集合——集合框架 Collection、Map
1.概述: @white Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中. 2.Java集合大致可以分4类: @white Set ...
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...
随机推荐
- [opencv]图像预处理方案及方式
像识别中,图像质量的好坏直接影响识别算法的设计与效果精度,那么除了能在算法上的优化外,预处理技术在整个项目中占有很重要的因素,然而人们往往忽略这一点. 图像预处理,将每一个文字图像分检出来交给识别模块 ...
- BL8810|USB2.0高速闪存读卡器|BL8810芯片
BL8810是由台湾旺玖半导体推出的一款USB2.0 SD/MMC闪存读卡器单芯片.支持USB2.0高速传输,并符合通用串行总线规范.该芯片集成了一个高速的8051微处理器和一个最好的数据引擎,它的引 ...
- 【C#】C#中使用GDAL3(三):Windows下编译插件驱动
转载请注明原文地址:https://www.cnblogs.com/litou/p/15720236.html 本文为<C#中使用GDAL3>的第三篇,总目录地址:https://www. ...
- vim 个性化设置
vim 编辑器安装 yum install vim vim个性化设置 vim ~/.vimrc 复制以下代码 关闭vim一致性原则 set nocompatible 显示行号 set number 设 ...
- Oracle数据库导入csv文件(sqlldr命令行)
1.说明 Oracle数据库导入csv文件, 当csv文件较小时, 可以使用数据库管理工具, 比如DBevaer导入到数据库, 当csv文件很大时, 可以使用Oracle提供的sqlldr命令行工具, ...
- for update未提交导致锁表
select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性. 应用场景: 什么时候需要使用for update?就是那些需要业务层面数据独占时, ...
- monkey怎么做APP自动化?
前言: monkey是andriod平台自动化测试的一种手段,通过monkey程序模拟触摸屏幕.滑动,滚屏,按键来对设备进行压力测试,检测程序多久会出现异常第一种:设置好命令,做随机自动化 什么时候可 ...
- CAP原理详解
转载 https://blog.csdn.net/u013332124/article/details/82874178 文章目录 一.CAP原理介绍 对CAP原理的一些常见的理解误区 二.CAP原理 ...
- 从一堆 JAR 文件中,找出一个 Java class 文件的所在配置
Find a class somewhere inside dozens of JAR files? find path/to/libs -name '*.jar' -exec grep -Hls C ...
- [vscode] os.getcwd(),调试和命令行运行的结果不一致
问题描述: 调试和命令行运行的时候工作目录不一致 这会导致一个问题,我想从上级目录导入模块的话,F5调试就会找不到模块,而命令行则没问题 那么我该如何调试呢? 目录结构: top └ folder_ ...