JavaSE练习(六)——集合
1、Java集合按照存储结构可分为两类:Collection(单列集合)、Map(双列集合)
Collection有两个重要的子接口:List Set
list的主要类有ArrayList、LinkList两种
Set的类主要有HashSet、TreeSet两种
Map接口的实现类有HashMap、TreeMap
2、List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。
、ArrayList实现了长度可变的数组,在内存中分配连续的空间;遍历元素和随机访问元素的效率比较高。
LinkedList采用链表存储方式。插入、删除元素时效率比较高。
3、使用ArrayList集合存储元素
List stu = new ArrayList();
stu.add(student1);
stu.add(student2);
stu.add(student3);
stu.add(3,student4);//添加到指定位置
移除元素
stu.remove(0);//删除集合中的第一个元素
stu.remobe(student3);//删除student3元素
4、使用LinkedList集合
存储元素
LinkedList stu = new LinkedList();
stu.add(student1);
stu.add(student2);
stu.addLast(student1);
stu.addFirst(student1);
//移除元素
stu.removeFirst();//删除第一条信息
stu.removeLast();//删除最后一条信息
LinkedList特殊方法
void addFirst(Object o)
在列表的首部添加元素
void addLast(Object o)
在列表的末尾添加元素
Object getFirst()
返回列表中的第一个元素
Object getLast()
返回列表中的最后一个元素
Object removeFirst()
删除并返回列表中的第一个元素
Object removeLast()
删除并返回列表中的最后一个元素
5、List接口常用方法
6、Map
Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作,最常用的实现类是HashMap。
使用HashMap存储数据
Map stu = new HashMap();
stu.put("01", "小明");
stu.put("02", "小刚");
stu.put("03", "小飞");
String country = (String) stu.get("01");//获取指定元素的值
System.out.println("Map中共有"+stu.size() +"组数据");//获取元素个数
stu.remove("01");//删除指定元素
7、map接口常用方法
8、Hashtable和HashMap的区别:
实现原理、功能相同,可以互用。
主要区别:
1)Hashtable继承Dictionary类,HashMap实现Map接口
2)Hashtable线程安全,HashMap线程非安全
3)Hashtable不允许null值,HashMap允许null值