一.集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充。
二.Collection接口子类:
1.list接口子类:
(1)ArrayList:JDK1.2之后推出;采用异步处理方式,性能高;属于非线程安全。
1 package com.example; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 7 public class MyClass { 8 public static void main(String args[]){ 9 List<String> jh = null; 10 jh = new ArrayList<String>(); 11 jh.add("f"); 12 jh.add("a"); 13 for (int i = 0; i < jh.size();i++ ){ 14 System.out.println(jh.get(i)); 15 } 16 System.out.println(jh.indexOf("f")); 17 System.out.println(jh.isEmpty()); 18 jh.remove(0); 19 jh.remove(0); 20 System.out.println(jh.isEmpty()); 21 22 } 23 }
(2)Vector:JDK1.0推出;采用同步处理方式,性能低;属于线程安全。
2.Set接口子类:
Set接口中不能加入重复元素,但是可以排序。
(1)HashSet:散列存放。
(2)TreeSet:有序存放。
三.Map接口子类:
1.HashMap:无序存放,key不允许重复。
2.HashTable:无序存放,key不允许重复。
1 package com.example; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.HashMap; 6 import java.util.Iterator; 7 import java.util.List; 8 import java.util.Map; 9 import java.util.Set; 10 11 12 public class MyClass { 13 public static void main(String args[]){ 14 15 Map<String,String> map = new HashMap<String,String >(); 16 map.put("key1","1"); 17 map.put("key2","2"); 18 map.put("key3","3"); 19 map.put("key4","4"); 20 map.put("key5","5"); 21 22 if (map.containsKey("key1")) { 23 System.out.println(map.get("key1")); 24 } 25 if (map.containsValue("2")){ 26 map.remove("key2"); 27 } 28 System.out.println(map); 29 30 Set<String> mapkey = map.keySet(); 31 Collection<String> mapvalue = map.values(); 32 Iterator<String> iter = mapvalue.iterator(); 33 34 35 } 36 }
四.Iterator接口:
1 package com.example; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 8 public class MyClass { 9 public static void main(String args[]){ 10 List<String> jh = null; 11 jh = new ArrayList<String>(); 12 jh.add("f"); 13 jh.add("a"); 14 Iterator<String> iter = jh.iterator(); 15 while (iter.hasNext()){ 16 String str = iter.next(); 17 if (str.equals("a")){ 18 iter.remove(); 19 } 20 else { 21 System.out.println(str); 22 } 23 } 24 25 } 26 }