Java 容器相关知识全面总结
来源:互联网 发布:ubuntu安装ssh失败 编辑:程序博客网 时间:2024/06/06 01:42
结构
java容器类的继承结构
具体介绍
List
Set
Queue
迭代器
Collection
Map
一些建议
进阶·并发容器
CopyOnWriteArrayList与Copy-On-Write策略
ConcurrentLinkedQueue
ConcurrentHashMap与锁分段技术
阻塞队列
java容器类的继承结构
Collection 一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素。Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序。
1
2
3
4
5
6
7
8
public
interface
Collection<E>
extends
Iterable<E> {
int
size();
boolean
isEmpty();
boolean
contains(Object o); Iterator<E> iterator();
Object[] toArray();
<T> T[] toArray(T[] a);
boolean
add(E e);
boolean
remove(Object o);
boolean
containsAll(java.util.Collection<?> c);
boolean
addAll(java.util.Collection<?
extends
E> c);
boolean
removeAll(java.util.Collection<?> c);
...
//省略了其他方法
}
Map 一组成对的”键值对”对象,允许我们使用键来查找值。
1
2
3
4
5
6
7
8
public
interface
Map<K,V> {
int
size();
boolean
containsKey(Object key);
boolean
containsValue(Object value); V get(Object key); V put(K key, V value); V remove(Object key);
void
putAll(java.util.Map<?
extends
K, ?
extends
V> m);
void
clear(); Set<K> keySet(); Collection<V> values();
Set<java.util.Map.Entry<K, V>> entrySet();
interface
Entry<K,V> { K getKey(); V getValue(); V setValue(V value);
boolean
equals(Object o);
int
hashCode();
...
}
boolean
equals(Object o);
int
hashCode();
}
具体介绍
迭代器
1
2
3
4
5
6
public
interface
Iterator<E> {
boolean
hasNext(); E next();
default
void
remove() {
throw
new
UnsupportedOperationException(
"remove"
);
}
default
void
forEachRemaining(Consumer<?
super
E> action) {
Objects.requireNonNull(action);
while
(hasNext())
action.accept(next());
}
}
ListIterator
Collection
List .showContent ol,.showContent ul{margin:0;pading:0;}.showContent .list-paddingleft-1{padding-left:0} .showContent .list-paddingleft-2{padding-left:20px} .showContent .list-paddingleft-3{padding-left:40px} .showContent ol,.showContent ul{margin:0;pading:0;}.showContent .list-paddingleft-1{padding-left:0} .showContent .list-paddingleft-2{padding-left:20px} .showContent .list-paddingleft-3{padding-left:40px}
1
2
3
4
5
6
7
8
9
public
interface
List<E>
extends
Collection<E> {
...
boolean
add(E e);
boolean
remove(Object o);
boolean
containsAll(Collection<?> c);
boolean
addAll(Collection<?
extends
E> c);
boolean
addAll(
int
index, Collection<?
extends
E> c);
boolean
removeAll(Collection<?> c);
boolean
retainAll(Collection<?> c); E get(
int
index); E set(
int
index, E element);
void
add(
int
index, E element); E remove(
int
index);
int
indexOf(Object o);
int
lastIndexOf(Object o);
java.util.List<E> subList(
int
fromIndex,
int
toIndex);
...
}
Set
Queue
1
2
public
interface
Queue<E>
extends
Collection<E> {
boolean
add(E e);
boolean
offer(E e); E remove(); E poll(); E element(); E peek();
}
Map
一些建议
不要使用过时的容器 如Vector Enumeration Hashtable Stack(没错,这就是java最初的糟糕设计,实际中使用栈的话推荐LinkedList)
进阶·并发容器
CopyOnWriteArrayList与Copy-On-Write策略
ConcurrentLinkedQueue
ConcurrentHashMap与锁分段技术
阻塞队列
0 0
- Java 容器相关知识全面总结
- Java 容器相关知识全面总结
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- Java线程相关知识总结
- 总结java反射相关知识
- java 小知识 关系运算符的全面总结
- 对Java Generic相关知识的总结
- java 及WEB相关面试知识总结
- JAVA常用知识总结(刷题相关)
- java包装类相关知识总结
- STL容器知识总结
- STL容器 相关知识积累
- Java容器学习笔记(一) 容器中基本概念及Collection接口相关知识
- Java容器学习笔记(一) 容器中基本概念及Collection接口相关知识
- Java知识总结(2)——容器
- Java集合容器全面分析
- Java集合容器全面分析
- 第五章:Dubbo整合maven+spring+springmvc+mybatis-dubbo源码下载
- PR渲染设置
- opencv如何查看源码
- EJB2.0 ejb-jar.xml配置文件详解
- Android Studio下载查看Android API的方法
- Java 容器相关知识全面总结
- springmvc整合mybaits导入activemq jar包出现的问题
- CentOS6.4下安装配置OpenLdap服务记录
- java并发编程实战笔记
- Oracle最常见的行转列
- 蓝桥杯练习系统试题集(二)--基础练习(含C/C++答案)
- 安装错误:unable to access android sdk add-on list
- 桥接与中继
- 安卓四大组件-服务-1_多线程编程