Collections,Collection ,Map,List,Set的区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collections,Collection ,Map,List,Set的区别?相关的知识,希望对你有一定的参考价值。
参考技术A Collections是集合的工具类,含有各种有关集合操作的静态方法。Collection是个集合超级接口,其中List,set都是Collection的子接口。
List
集合
List
元素有先后次序的集合,
元素有index位置,
元素可以重复,
List继承与Collection接口,
实现类:
ArrayList,
Vector,
LinkedList
1)LinkedList
采用双向循环链表实现
2)ArrayList
变长数组算法实现
新的
快
非线程安全
3)Vector
变长数组算法实现
早期提供
慢
线程安全
set集合:
Set
元素无续,
不能重复添加,
是数学意义上的集合,
继承与
Collection
接口,
实现类:
HashSet(是一个只有Key的HashMap)
Map
散列表:
也是个接口。是以键值对方式实现的集合,
Map
描述了:(key:value)
成对放置的集合,
key不重复,
Value可以重复.
key重复算一个.
Map适合检查查找.
主要实现:
HashMap(散列表算法实现)/
Hashtable
A
HashMap
新,
非线程安全,
不检查锁,
快
B
Hashtable
旧
(1.2以前)
线程安全,
检查锁,
慢一点
Collection与Collections
package com.itheima.testinterfacess;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class AddingGroups
public static void main(String[] args)
Integer [] moreInts = 6,7,8,9,10;
/**
public static <T> List<T> asList(T... a)
return new ArrayList<>(a);
*/
List<Integer> asList = Arrays.asList(moreInts);
//ArrayList()有一个含参构造方法:public ArrayList(Collection<? extends E> c)里面含有Collection的实现类就可以了
Collection<Integer> collection = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));
//把整个集合添加进来
collection.addAll(asList);
for (Integer integer : collection)
System.out.print(integer);
System.out.println("------------------------------------------");
Collections.addAll(collection, 11,12,13,14,15);
for (Integer integer : collection)
System.out.print(integer);
System.out.println("------------------------------------------");
Collections.addAll(collection, moreInts);
for (Integer integer : collection)
System.out.print(integer);
输出结果:
12345678910——————————————
123456789101112131415——————————————
123456789101112131415678910
以上是关于Collections,Collection ,Map,List,Set的区别?的主要内容,如果未能解决你的问题,请参考以下文章
介绍Collection框架的结构;Collection 和 Collections的区别