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());
}
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());
}
相关文章推荐
- 学习笔记-java基本类型的包装类,常用方法
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
- Selenium 学习笔记(Java版)(二)常用方法讲解
- Java学习笔记之字符串常用方法
- Java学习笔记之String类的常用方法
- Java学习笔记之常用方法类(四)DecimalFormat类、Pattern与Match类
- Java学习笔记—多线程(Java线程常用方法总结)
- JAVA学习笔记(6)--String的常用方法
- Java学习笔记之常用方法类(二) StringBuffer类、StringTokenizenizer类、Sanner类
- JAVA学习笔记--多线程(二)线程常用方法
- Java学习笔记38. 字符串的几个常用方法
- java学习笔记(六)——String类的常用方法
- java学习笔记(二)——JFrame常用方法
- Java学习笔记之常用方法类(三) Data和Calendar类、Math、BigInteger和Random类、Random类
- Java学习笔记之集合(二):List集合的常用方法
- Java学习笔记之集合(四):LinkedList集合的特点和常用方法
- Java学习笔记83. 枚举类和常用的枚举方法
- Java学习笔记之常用方法类(一)String类、正则表达式
- JAVA学习笔记21——多维数组+数组常用方法
- Java学习笔记之线程(二):线程的常用方法