目录
ArraList与LinkedList,Vector的区别:
ArraList与LinkedList,Vector的区别:
1.ArrayList查询快,LinkedList添加和删除操作快。
2.Vector线程安全,ArrayList重速度轻安全,线程非安全。
3.长度需要增长时,Vector默认增长一倍,ArrayList增长50%。
ArrayList使用:
Dog dog1 = new Dog("小型犬","吉娃娃");
Dog dog2 = new Dog("中型犬","拉布拉多");
Dog dog3 = new Dog("大型犬","藏獒");
List list = new ArrayList();
list.add(dog1);//加入list集合
list.add(dog2);
list.add(dog3);
list.size();//计算list的size
list.get(0);//获取list集合中第一个元素
LinkedList使用:
LinkedList list = new LinkedList();
list.addFirst(dog2);//将dog2添加到list的第一个位置
----------------------------------------------------------------------------------------------------------------------------------------------------------
Vector的使用:
比如有个对象为:
Dog dog1 = new Dog("小型犬","吉娃娃");
Dog dog2 = new Dog("中型犬","拉布拉多");
Dog dog3 = new Dog("大型犬","藏獒");
将对象存入Vector中,操作如下:
Vector v = new Vector();
v.addElement(dog1);
v.addElement(dog2);
v.addElement(dog3);
循环遍历输出Vector中的对象:
Enumeration ens = v.elements();
while(ens.hasMoreElements()){
System.out.println(ens.nextElement());
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Map集合储存一组键值对,(key,value)
Map map = new HashMap();
map.put("UN","联合国");
map.put("UFO","飞碟");
map.get("UN");//输出联合国
map.containsKey("UFO");//包含飞碟吗?(布尔类型)
map.keySet();//打印所有的key值
map.values();//打印所有的value值
map.clear();//清空map中的数据
实现原理、功能相同,可以互用
主要区别:
1.Hashtable继承了Dictionary类,而HashMap实现了Map接口
2.Hashtable线程安全,HashMap线程不安全
3.Hashtable不允许null值,HashMap允许null值
通过迭代器遍历:
Iterator it = m.keySet().iterator();//返回一个迭代器
while(it.hasNext()){
String key = it.next().toString();
System.out.println(key+"-"+m.get(key));
}
通过for循环遍历:
for(object k : m.keySet()){
System.out.println(k+"-"+m.get(k));
}