第
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。由此可见,数据对于程序语言的重要性。
这段话是在写数据类型那篇博客时说的,当时是为了引入Java中数据类型的重要性,现在放在这里,同样是为了引出Java中的集合(容器),因为这是存储数据的媒介!在Java中有各种存储数据的集合类型,用来存储数据,做简单的逻辑处理,比如排序、取反、截取等等。
--------------
--------------
通过代码输出结果进一步论证结论,可通过下标操作元素(下标以0为开始);输入输出一致(有序);可存储重复数据。
Queue
Queue,也就是队列,通常遵循先进先出(FIFO)的原则,新元素插入到队列的尾部,访问元素返回队列的头部。其实在日常的开发中,我们队列的使用场景不是很多,但在很多算法题中,还是有他独特的优势的。
比如,对Queue进行扩展出Deque,实现双端队列,在队列的两端均可以插入或删除元素。
【代码示例3】
//创建一个ArrayDeque
ArrayDequeStringdeque=newArrayDeque();
//添加元素
deque.add(a
deque.add(b
deque.add(c
//删除元素
deque.remove(b
//修改元素
deque.remove(b
deque.add(bb
//查找队首元素
System.out.println(deque.getFirst());
//查找队尾元素
System.out.println(deque.getLast());
//遍历队列
for(Strings:deque){
System.out.print(s);
【输出】
List、Set、Queue三者的区别?
看望上面的几种集合类型,我们在这里进行一个区别总结
1、List(对付顺序的好帮手):存储的元素是有序的、可重复的。
2、Set(注重独一无二的性质):存储的元素不可重复的。
3、Queue(实现排队功能的叫号机):按特定的排队规则来确定先后顺序,存储的元素是有序的、可重复的。
键值对集合,存储键、值和之间的映射;Key无序,唯一;value不要求有序,允许重复。
我们以Map下最经典的HasMap为例看一看Map的特点
【代码示例4】
//创建一个HashMap对象
HashMapString,StringhashMap=newHashMap();
//添加键值对
hashMap.put(1,aa
hashMap.put(2,bb
hashMap.put(3,cc
//获取指定键的值
Stringvalue1=hashMap.get(1
System.out.println(1对应的值:+value1);
//修改键对应的值
hashMap.put(1,aaa
Stringvalue2=hashMap.get(1
System.out.println(1对应的值:+value2);
//删除指定键的键值对
hashMap.remove(1
//遍历HashMap
for(Stringkey:hashMap.keySet()){
Stringvalue=hashMap.get(key);
System.out.println(key+对应的值为:+value);
HashMap实现了Map接口,可以根据键快速地查找对应的值通过哈希函数将键映射到哈希表中的一个索引位置,从而实现快速访问。
【输出】
1对应的值:aa
1对应的值:aaa
2对应的值为:bb
3对应的值为:cc
本文的重心是Java集合的盘点,Collection和Map的引出,各子类的特点比较,针对很多常用的子类并没有展开过多的叙述,后面会按个的学习按个的梳理滴,毕竟这一块内容有非常多的考点,至少得更新个十几篇博文才能讲个大概,继续保持耐心,继续保持学习,一起冲!!!