在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。设置在第一个写在这里。有什么不对,请大家指正
版权声明:本文博客原创文章,博客,未经同意,不得转载。
时间: 2024-11-19 13:39:26