在java在,数据收集的操作,应使用非常。最近看了零星收集的小知识,在这里,一点点排序。
它基本上是四个常用的类操作点总结集合。
首先。集合大致分为两个方向。一种是普通的集合类型,通过接口collection向下扩展,还有一种是map接口下的键值对的集合类型。今天主要说的的四个类ArrayList和LinkedList是collection接口下List接口的两个实现类。另外两个HashMap和TreeMap则是Map接口的实现类。
首先,对于Collection,它的主要分支有两个:List和Set。List是有序的能够反复的集合接口,而Set是无序的不可反复的集合接口。
ArrayList:
- 线程非同步
- 介绍:可变的数组,同意全部元素包含NULL
- 特点:能够依据索引位置对集合进行高速的訪问和遍历,缺点是向指定位置插入和删除对象非常慢
- 应用:适合随机查找和遍历,不适合插入和删除。
LinkList:
- 线程非同步
- 介绍:採用链表结构保存对象
- 特点:非常便于向指定地点插入和删除对象,缺点是随机訪问集合中的对象效率非常慢
- 应用:数据的动态插入和删除,不适合随机訪问和遍历
由于两个类都是实现List接口,方法都差点儿相同:
@Test
public void test1()
{
List<String> list=new ArrayList<String>();
list.add("AK-47");
list.add("ACER");
list.add("ASUS");
list.set(2, "HP");//替换
list.add(2, "Dell");//插入
list.add("LENOVO");
list.indexOf("HP");//查找
Iterator<String> iterator =list.iterator();
while(iterator.hasNext())
{
System.out.println(iterator.next());
} }
HashMap:
- 介绍:基于哈希表的Map接口实现,同意NULL
- 特点:实现了Map集合对加入删除映射关系效率比較高,不能保证映射顺序
- 应用:用于加入删除映射关系
TreeMap:
- 介绍:实现Map和SortedMap接口,不同意NULL
- 特点:有一定的映射顺序,可是加入删除映射关系效率比HashMap差
- 应用:用于加入删除映射关系
演示代码:
@Test
public void test2()
{
HashMap m=new HashMap();
m.put("001", "Acer");
m.put("002", "HP");
m.remove("002");
m.put("003", "LENOVO");
Set set=m.entrySet();
Iterator iterator=set.iterator();
while(iterator.hasNext())
{
Map.Entry mapentity= (Map.Entry) iterator.next();
System.out.println(mapentity.getKey()+":"+mapentity.getValue());
} }
OK。设置在第一个写在这里。有什么不对,请大家指正
版权声明:本文博客原创文章,博客,未经同意,不得转载。