集合:存储和操纵元素不固定的一组数据。
集合类都位于java.util包中。
Java集合中不能存放基本数据类型,只能存放对象的引用。
在5.0以后的版本当中,JAVA增加了自动装箱、自动拆箱,
如果要存入一个基本类型的数据,虚拟机会把数据转换成包装类然后再存入集合。
Java常用的几个集合:
Set、List和Map
它们都处于java.util包中
Set、List和Map都是接口
Set的实现类主要有HashSet和TreeSet
1 import java.util.Iterator; 2 import java.util.TreeSet; 3 4 public class SetTest { 5 public static void main(String[] args) { 6 TreeSet treeSet = new TreeSet(); 7 treeSet.add("数据1"); 8 treeSet.add("数据2"); 9 treeSet.remove("数据1");// 移除某个元素 10 treeSet.clear(); // 清空 11 } 12 13 }
List的实现类主要有ArrayList和LinkedList
1 import java.util.ArrayList; 2 3 public class ListTest { 4 public static void main(String[] args) { 5 ArrayList arrayList = new ArrayList(); 6 arrayList.add("数据1"); 7 arrayList.add("数据1"); 8 arrayList.remove(0);// 通过索引移除 9 arrayList.remove("数据1"); 10 arrayList.clear(); // 清空 11 arrayList.get(0);// 获取值 12 } 13 14 }
Map的实现类主要有HashMap和TreeMap。
1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Set; 4 5 public class MapTest { 6 public static void main(String[] args) { 7 HashMap hashMap = new HashMap(); 8 hashMap.put("a", "1"); 9 hashMap.put("b", "1"); 10 hashMap.remove("a");// 通过Key移除 11 hashMap.clear(); // 清空 12 hashMap.get("b");// 通过Key获取 13 Set keySet = hashMap.keySet(); 14 // 获取所有的Key 15 Iterator iterator = keySet.iterator(); 16 while (iterator.hasNext()) { 17 System.out.println(iterator.next()); 18 } 19 } 20 21 }
Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator<Type>接口来自定义排序方式。
List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。
Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。