关于List集合

来源:互联网 发布:营销qq群发软件 编辑:程序博客网 时间:2024/06/06 09:13

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中的数据


HashMap与Hashtable的异同:

实现原理、功能相同,可以互用

主要区别:

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));

}

原创粉丝点击