疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java集合讲解


 

 
(一)集合的体系
集合:
单例集合
--Collection 根接口
----List接口:实现了List集合类的特点,有序,可重复。
------ArrayList:底层使用了Object数组实现,查询速度快,增删慢。
------LinkedList:查询速度稍慢,增删快。
------Vector:底层使用了Object数组实现,是线程安全的,效率稍低。
----Set接口:无序,不可重复。
------HashSet:使用了Hash表支持的。 判断重复元素的依据,hashCode()和equals()方法。
------TreeSet::可以对元素进行排序。如果元素不具备自然顺序的特性,那么元素所在的类必须实现Comparable接口或者是传入比较器对象。
双列集合
--Map根接口:数据是以键值对的形式存在的。键不可以重复,值可以重复。
----HashMap:键也是使用了Hash表支持的。键不可以重复,主要是是使用了hashCode()和equals()方法判断的。
----TreeMap:可以对键进行排序,那么元素所在的类必须实现Comparable接口或者是传入比较器对象。
----Hashtable:与HashMap的实现是一样的,是线程的安全的。
 
 
(二)集合的遍历
1.List集合的遍历方式
[java] view plain copy
public void ergodic(){  
/* 
 *遍历集合:list遍历方式 
 * 
 *(1)for 的方式 迭代器 增强for循环 
*/  
  
    List<String> list = new ArrayList<String>();  
    list.add("aa");  
    list.add("bb");  
    list.add("cc");  
    System.out.println("----for循环遍历方式-----");  
    for(int i=0;i<list.size();i++){  
        System.out.print(list.get(i)+",");  
    }  
    System.out.println();  
    System.out.println("----迭代器遍历方式-----");  
    for(Iteraror<String> it = list.iterator();it.hashNext();){  
        System.out.print(it.next()+",");     
    }  
    System.out.println();  
    System.out.println("----增强for循环遍历方式-----");  
    for(String temp : list){  
        System.out.print(temp+",");  
    }  
}  
 
2.Set集合的遍历方式
[java] view plain copy
public void ergodicSet(){  
/* 
 *遍历集合:Set遍历方式 
 * 
 *(1)for 的方式 迭代器 增强for循环 
*/  
  
    Set<String> set = new HashSet<String>();  
    set.add("aa");  
    set.add("bb");  
    set.add("cc");  
    System.out.println("----迭代器遍历方式-----");  
    for(Iteraror<String> it = set.iterator();it.hashNext();){  
        System.out.print(it.next()+",");     
    }  
    System.out.println();  
    System.out.println("----增强for循环遍历方式-----");  
    for(String temp : set){  
        System.out.print(temp+",");  
    }  
}  
3.Map集合的遍历方式
[java] view plain copy
public void ergodicMap(){  
/* 
 *遍历集合:Set遍历方式 
 * 
 * 迭代器 增强for循环 
*/  
  
    Map<String,String> map = new HashMap<String,String>();  
    map.put("1","aa");  
    map.put("2","bb");  
    map.put("3","cc");  
    System.out.println("----迭代器遍历方式-----");  
    Set<String> keys = map.keySet();  
    for(Iteraror<String> it = keys.iterator();it.hashNext();){  
        String key = it.next();  
        System.out.print("键"+key+"值"+map.get(key));       
    }  
    System.out.println("----增强for循环遍历方式-----");  
    Set<Map.Entry<String,String>> entryes = map.entrySet();  
    for(Map.Entry<String,String>> entry :entryes){  
        System.out.println("键"+entry.getKey()+"值"+entry.getValue());      
    }  
}