【一、集合】
特征:
数组:定长。可以放基本数据类型。
List:变长。只能放对象。有序,可重复。
Set :变长。只能放对象。无序,不可重复。
Map :变长。只能放对象。无序,键值对。
重要实现类:
List:
ArrayList :用数组实现的。查询快,增删慢。
LinkedList:用链表实现的。增删快,查询慢。
Set:
HashSet:无序。
TreeSet:有序,自然排序。 ( a, b, c, d )
LinkedHashSet:保存插入的顺序。( a, c, d, b )
Map:
HashMap:无序
TreeMap:有序,自然排序。
LinkedHashMap:保存插入的顺序。
遍历集合:
数组
下标
增强的for循环
List
下标
增强的for循环
迭代器
Set
增强的for循环
迭代器
Map
entrySet() --> Entry<key, value>
特征:
数组:定长。可以放基本数据类型。
List:变长。只能放对象。有序,可重复。
Set :变长。只能放对象。无序,不可重复。
Map :变长。只能放对象。无序,键值对。
重要实现类:
List:
ArrayList :用数组实现的。查询快,增删慢。
LinkedList:用链表实现的。增删快,查询慢。
Set:
HashSet:无序。
TreeSet:有序,自然排序。 ( a, b, c, d )
LinkedHashSet:保存插入的顺序。( a, c, d, b )
Map:
HashMap:无序
TreeMap:有序,自然排序。
LinkedHashMap:保存插入的顺序。
遍历集合:
数组
下标
增强的for循环
List
下标
增强的for循环
迭代器
Set
增强的for循环
迭代器
Map
entrySet() --> Entry<key, value>
keySet() --> Set<key>
下面提供demo:
package cn.itcast.a_collection;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class AppTest {
public static void main(String[] args) {
// ===========================================
// 数组
String[] arr = { "aa", "bb", "cc" };
// 遍历方式一:下标
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
// 遍历方式二:增强的for循环
for (String elt : arr) {
System.out.print(elt + " ");
}
System.out.println();
// ===========================================
// List
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
// 遍历方式一:下标
for(int i = 0; i < list.size() ; i ++){
System.out.print(list.get(i) + " ");
}
System.out.println();
// 遍历方式二:增强的for循环
for(String str : list){
System.out.print(str + " ");
}
System.out.println();
// ===========================================
// Set
Set<String> set = new HashSet<String>();
set.add("aa");
set.add("bb");
set.add("cc");
// 遍历方式:增强的for循环
for(String str : set){
System.out.println(str);
}
}
}