您的位置:首页 > 编程语言 > Java开发

Java常用集合类的常用方法 学习笔记

2012-08-17 11:42 519 查看
首先了解一下ArrayList和LinkedList的区别:

1.ArrayList是基于数组,LinkedList是基于链表实现。

2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。

3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据

4.查找indexOf,,lastIndexOf,contains等,两者差不多。

(注:这里只是理论分析,事实上也不一定,比如ArrayList在末尾插入和删除数据就不涉及到数据移动,不过还是有个建议,随机访问比较多的话一定要用ArrayList而不是LinkedList,如果需要频繁地插入和删除,应该考虑用LinkedList来提高性能)





ArrayList<Object> alist=new ArrayList<Object>();

添加数据: alist.add();

alist.add(1,"小明");//表示在索引1处添加数据

删除数据: alist.remove(); 括号里可以是索引,也可以是具体的值

查询数据:

第一种方法:

for(Object obj : alist){

System.out.println(obj);

}

第二种方法:迭代器遍历查询

Iterator<Object> it=alist.iterator();

while(it.hasNext()){

System.out.println(it.next());

}

LinkedList<Object> llist=new LinkedList<Object>();

添加数据: llist.add();

删除数据: llist.remove();

查询数据:

第一种方法:

for(Object obj : llist){

System.out.println(obj);

}

第二种方法:

Iterator<object> obj=llist.iterator();

while(it.hasNext())

{

System.out.println(it.next());

}

HashMap<Integerk,String> hm=new HashMap<Integer,String>();

添加键值对:hm.put(101,"小明");

hm.put(102,"小刚");

在添加某键时判断某键是否存在:

if(hm.containsKey(101){//如果存在则返回true

System.out.println("键101已存在");

}else{

hm.put(101,"小芳");

}

查询:使用迭代器遍历所有键的集合

Iterator<Integer> it=keys.iterator();

while(it.hasNext()){

System.out.println(it.next());

}

遍历所有键值的集合

Collection<String> ct=hm.values();

Iterator<String> it2=ct.iterator();

while(it2.hasNext())

{

System.out.println(it2.next());

}

获取所有的键值对集合

Set<Map.Entry<Integer,String>> entry=hm.entrySet();

Iterator<Map.Entry<Integer,String>> it3=entry.iterator();

while(it3.hasNext()){

Map.Entry<Integer,String> me=it3.next();//获取正在遍历的一个键值对

System.out.println("键:"+me.getKey()+" 值:"+me.getValue());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: