是否有键值对关系{
是:Map
键是否需要排序?{
是:TreeMap
否:HashMap
不知道就用HashMap
}
否:Collection
元素是否唯一?{
是:Set
元素是否需要排序?{
是:TreeSet
否:HashSet
}
否:List
线程安全吗?{
是:Vector
否:ArrayList,LinkedList
查询多:ArrayList
删除多:LinkedList
不知道就用ArrayList
}
}
}
全都不知道就用ArrayList
List<String> list= new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
/**
* 根据集合类长度遍历(字符串,单维数组可用)
*/
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
/**
* 根据新式for-each遍历(推荐)
*/
for (String a:list) {
System.out.println(a);
}
/**
* 根据迭代器遍历
*/
for(Iterator i = list.iterator(); i.hasNext();)
{
System.out.println(i.next());
}
int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
System.out.println("遍历二维数组:");
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
Map<String, String> map = new HashMap<String, String>();
map.put("a", "zhangsan");
map.put("b", "lisi");
map.put("c", "wangwu");
/**
* 方法一:获取keySet集合,迭代遍历map
*/
Set<String> keySet = map.keySet();
for(Iterator<String> iterator = keySet.iterator();iterator.hasNext();){
String key = iterator.next();
String value = map.get(key);
System.out.println(key+"="+value);
}
System.out.println("**********************");
/**
* 方法二:获取keySet集合,for-each遍历map
*/
for(String key : map.keySet()){
System.out.println(key+"="+map.get(key));
}
System.out.println("**********************");
/**
* 方法三:获取entrySet,for-each遍历map,推荐使用该方法遍历map集合,尤其是容量大时
*/
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println(entry.getKey()+"="+entry.getValue());
}
System.out.println("**********************");
/**
* 方法四:获取entrySet,迭代实例遍历map
*/
Set<Map.Entry<String, String>> entrySet = map.entrySet();
for(Iterator<Map.Entry<String, String>> iterator = entrySet.iterator();iterator.hasNext();){
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey()+"="+entry.getValue());
}
System.out.println("**********************");
/**
* 方法五,这种方法遍历的是所有的值
*/
for(String value : map.values()){
System.out.println(value);
}