读书人

List set和地图

发布时间: 2012-08-01 17:53:41 作者: rapoo

List set和map
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

1.定义

Set set = new HashSet();
List list = new ArrayList();
Map map = new HashMap();
遍历
a.

 Iterator  iterator = set.iterator();while(iterator.hasNext()){Object obj = iterator.next();System.out.println(obj.toString());}

b.

for(Iterator itr = list.iterator();itr.hasNext();){List<String> strList = (List<String>) itr.next();for(String str:strList){System.out.println(str);}}



2.区别

a.list和set都继承了collection接口
b.list是有序的,保存的元素是可以重复的.map是无序的,元素不能重复.是key-value
c. set 是个接口,set里边的元素是不可重复的,而且没有指定的顺序,就是个集合

  Set set = new HashSet();set.add("1");set.add("1");List list = new ArrayList();list.add("1");list.add("1");System.out.println("list size-->"+list.size());//2System.out.println(set.size()+"--->size");//1

3.应用

   private List<String> arrayList = null;    private Map<String,List<String>> map = null;    public Test(){    arrayList = new ArrayList<String>();map = new HashMap<String, List<String>>();    }  /** * map和list的混合的使用 * @return */public  void mapAndList(){arrayList.add("1");arrayList.add("2");arrayList.add("3");map.put("list1",arrayList);boolean b = map.containsKey("list1");//key集合中是否有"list1",true:是boolean valueList = map.containsValue("1");//value集合中是否存在"1".true:是//得到key的集合Set set = map.keySet();Iterator  iterator = set.iterator();while(iterator.hasNext()){Object obj = iterator.next();System.out.println(obj.toString());}//value的集合 Collection list =   map.values();for(Iterator itr = list.iterator();itr.hasNext();){List<String> strList = (List<String>) itr.next();for(String str:strList){System.out.println(str);}}} 

读书人网 >软件开发

热点推荐