2 justifysd justifysd 于 2016.04.03 23:37 提问

各位大牛,想了解一下list,set等集合类的作用

什么时候用集合类,用集合类的好处是什么,使用集合类时候需要注意什么?map,set,list到底有什么不同?

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.03 23:40
已采纳

需要组织一组数量不确定的数据,通过循环迭代处理的时候我们使用集合类。
map适合通过一个索引寻找一个记录的情况,比如说记录单词和单词出现的次数;记录用户名和密码。list适合

caozhy
caozhy   Ds   Rxr 2016.04.03 23:42

list适合需要顺序的集合,可以通过下标像数组那样访问list。set不关心顺序,表示一个集合。

Melod_bc
Melod_bc   2016.04.04 08:48

需要唯一吗?
需要:Set
需要制定顺序:
需要: TreeSet
不需要:HashSet
但是想要一个和存储一致的顺序(有序):
LinkedHashSet 不需要:List
需要频繁增删吗?
需要:LinkedList 不需要:ArrayList
而map就是用来记录键值对的,一对一对的数据。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA集合(List,Set,Map)
Java 2集合框架图  集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。  抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。  实现类:8个实现类(实线表示),对接口的具体实现。  在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码。  · Collection 接口是一组允许重复的对象。  · Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。  · List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。  · Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。  · 容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。  Java 2简化集合框架图  集合接口  1.Collection 接口  用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。  (1) 单元素添加、删除操作:   boolean add(Object o):将对象添加给集合   boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o  (2) 查询操作:   int size() :返回当前集合中元素的数量   boolean isEmpty() :判断集合中是否有任何元素   boolean contains(Object o) :查找集合中是否含有对象o
Java基础面试题3-说说你知道的几个Java集合类:list、set、queue、map
关系这张图简单揭示了Set、List与Map之间的相对关系。 需要说明下的是,图中的实现并不指这么简单的实现,这个稍后会说到。Collection接口Collection是Java中最基本的集合接口。它描述了一组有关集合操作的方法。int Size(); //集合大小 boolean isEmpty(); //是否为空 boolean contains(Object o); //是否包含某个对象 ...
java中三大集合类Map,Set,List的详细介绍
在讲Map,Set,List三大接口之前,我们先来了解下Set和List的父类接口Collection接口   一:Collection接口:是java.util包下的一个接口: 其中有一些主要的方法: size(); isEmpty(); clear(); contains( ); add(); remove(); 这几个方法都比较常见
集合类 ArrayList 、 LinkedList 、 HashMap
HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值。 ArrayList和LinkedList均实现了List接口。 ArrayList的访问速度比LinkedList快。 添加和删除元素时,LinkedList的表现更佳
Java深入 - 深入理解Java集合
List类型 Java List一共三个实现类:分别是ArrayList、Vector和LinkedList。 类型 说明 ArrayList ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从A
java集合类,List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet),Map集合比较
ArrayList,LinkedList,Vector都属于List List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)  |-- ArrayList:底层是数组结构,特点是:查询很快,增删稍微慢点,线程不同步:A线程将元素放在索引0位置,CPU调度线程A停止,B运行,也将元素放在索引0位置,当A和B同时运行的时候Size就编程了2.   |-- LinkedList:底层使用...
Java 中集合类型包含ArrayList、LinkedList、HashMap等类,下列描述正确的是(多选)?
A.ArrayList与LinkedList都实现了List接口B.删除元素时,ArrayList的表现更佳C.ArrayList的访问速度比LinkedList快D.HashMap实现Map接口,允许任何类型的键和值对象,并且允许键和值都为null答案:ACD扩展:了解一下Collection架构,以及集合工具类Collections,以及这两个的区别...
为什么集合类没有实现Cloneable和Serializable接口?
集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序。有些集合类允许重复键,有些则不允许。...
Java:常用集合类(List、Map、Set、Queue、Stack)
迭代器基本概念Iterator接口包含3个方法:public interface Iterator<E> { E next(); boolean hasNext(); void remove(); }Java集合类库中的迭代器与C++的STL中的迭代器有所区别。C++中的迭代器是根据数组索引建模的,可以直接根据迭代器查看元素,或者移动迭代器。但Java的迭代器却不是这样,它的
为什么集合类没有实现Cloneable和Serializable接口
转自:牛客网 为什么集合类没有实现Cloneable和Serializable接口? 答:克隆(cloning)或者序列化(serialization)的语义和含义是跟具体的实现相关的。因此应该由集合类的具体实现类来决定如何被克隆或者序列化 一些解释: (1)什么是克隆? 克隆是把一个对象里面的属性值,复制给另一个对象。而不是对象引用的复制 (2)实现Serializabl