关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
2016-11-05 20:37
120 查看
集合
集合是个非常好的存储结构,你补了数组不能改变长度的不足。可以存储在临时内存的数据的载体。
集合有两大父类,分别是Collection 和 Map
1.Collection ——Set——HashSet (不是键值对,不安全,不能有重复数据,没有顺序)
——Queue——LinkedList (适合进行插入删除 ,因为内部是以链表实现的)
——List——ArrayList(线程不安全 ) \ __ 适合进行随机遍历,因为是数组形式实现的。
——Vector(线程安全) /
2.Map ———HashMap——LinkHashMap 区别于hashtable:线程安全的 没有null键和值 父类是dictionary
———HashTable——Properties (通常与对排序进行合作,进行海量数据的块数查询) 区别于hashMap :线程不安全的 有null键和值 父类是abstractmap
———SortedMap——TreeMap
注:hashmap和hashtable 在定位存储完成后也可以进行排序(主要是通过封装到list集合中进行自定义排序):List<> list=new ArrayList<>(t.entrySet();) Collections.sort(list,new
COnparator(){ 重写 compare方法}),排序完list之后遍历list集合就行了。
注:hash和list的区别:hash是无序的,并且不能重复的。而list是有序的,可以重复的。
注:hash 算法实质。(就是在要求对象不相同的情况下,hash算法可以大大降低调用equals方法的次数。)直接定位,如果定位上有元素才调用equals方法进行比较,存 储或覆盖。
list集合的5种遍历方法
1.iterator遍历 Iterator<String> it=list.iterator(); while(it.hasNext){String e=it.next();}
2.foreach遍历 for(String s:list){System.out.println(s);}
3.ListIterator遍历 ListIterator<String> ls=list.listIterator(); while(ls.hasNext){String e=ls.next();} 注:LIstIterator 遍历是可以双向的previous()和hasPrevious()方法
就可以实现。
4.正常for循环遍历 for(int i=0;i<list.size();i++){System.out.println(list.get(i));} 注:同样的for循环也可以实现对list的双向遍历。
5.toArray() 方法遍历 Object []obj=list.toArray(); for(int i=0;i<os.length;i++){System.out.println(os[i]);} 注:同样的道理 ,toArray方法也可以实现双向遍历。
Hashtable集合的5种遍历方法
1 根据值来遍历 :.Enumeration es=t.elements(); while(es.hasMoreElements()){System.out.println(es.nextElement();)}
2.根据键来遍历: Enumeration es=t.keys(); while(es.hasMoreElements()){System.out.println(t.get(es.nextElement()));}
3.根据返回值是collection来进行遍历: Collection cs=t.values();for(Interger i:cs){System.out.println(i)};
4.根据返回值是Set集合来进行遍历:Set ss=t.keySet(); Iterator ot=ss.iterator(); while(it.hasnext()){System.out.println(t.get(it.next))};
5.根据返回值是Entry集合进行遍历: Set<Map.Entry<Sring,Integer>> ts.entrySet();Iterator<Map.Entry<String,Integer>> it2=ts.iteraator();while(it2.hasNext())
926e
{Entry<String,Integer> e=it2.next(); System.out.println(e.getValue());};
集合是个非常好的存储结构,你补了数组不能改变长度的不足。可以存储在临时内存的数据的载体。
集合有两大父类,分别是Collection 和 Map
1.Collection ——Set——HashSet (不是键值对,不安全,不能有重复数据,没有顺序)
——Queue——LinkedList (适合进行插入删除 ,因为内部是以链表实现的)
——List——ArrayList(线程不安全 ) \ __ 适合进行随机遍历,因为是数组形式实现的。
——Vector(线程安全) /
2.Map ———HashMap——LinkHashMap 区别于hashtable:线程安全的 没有null键和值 父类是dictionary
———HashTable——Properties (通常与对排序进行合作,进行海量数据的块数查询) 区别于hashMap :线程不安全的 有null键和值 父类是abstractmap
———SortedMap——TreeMap
注:hashmap和hashtable 在定位存储完成后也可以进行排序(主要是通过封装到list集合中进行自定义排序):List<> list=new ArrayList<>(t.entrySet();) Collections.sort(list,new
COnparator(){ 重写 compare方法}),排序完list之后遍历list集合就行了。
注:hash和list的区别:hash是无序的,并且不能重复的。而list是有序的,可以重复的。
注:hash 算法实质。(就是在要求对象不相同的情况下,hash算法可以大大降低调用equals方法的次数。)直接定位,如果定位上有元素才调用equals方法进行比较,存 储或覆盖。
list集合的5种遍历方法
1.iterator遍历 Iterator<String> it=list.iterator(); while(it.hasNext){String e=it.next();}
2.foreach遍历 for(String s:list){System.out.println(s);}
3.ListIterator遍历 ListIterator<String> ls=list.listIterator(); while(ls.hasNext){String e=ls.next();} 注:LIstIterator 遍历是可以双向的previous()和hasPrevious()方法
就可以实现。
4.正常for循环遍历 for(int i=0;i<list.size();i++){System.out.println(list.get(i));} 注:同样的for循环也可以实现对list的双向遍历。
5.toArray() 方法遍历 Object []obj=list.toArray(); for(int i=0;i<os.length;i++){System.out.println(os[i]);} 注:同样的道理 ,toArray方法也可以实现双向遍历。
Hashtable集合的5种遍历方法
1 根据值来遍历 :.Enumeration es=t.elements(); while(es.hasMoreElements()){System.out.println(es.nextElement();)}
2.根据键来遍历: Enumeration es=t.keys(); while(es.hasMoreElements()){System.out.println(t.get(es.nextElement()));}
3.根据返回值是collection来进行遍历: Collection cs=t.values();for(Interger i:cs){System.out.println(i)};
4.根据返回值是Set集合来进行遍历:Set ss=t.keySet(); Iterator ot=ss.iterator(); while(it.hasnext()){System.out.println(t.get(it.next))};
5.根据返回值是Entry集合进行遍历: Set<Map.Entry<Sring,Integer>> ts.entrySet();Iterator<Map.Entry<String,Integer>> it2=ts.iteraator();while(it2.hasNext())
926e
{Entry<String,Integer> e=it2.next(); System.out.println(e.getValue());};
相关文章推荐
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- 关于集合子类父类关系的全面总结 ,以及遍历方法的总结 全
- java中遍历Map集合的集中方法总结