Java集合框架提供了一套接口和类,使得数据的存储和处理变得更加方便,主要包括Set、List、Queue和Map等接口以及他们的实现类。

一、Set接口和HashSet、TreeSet实现

Set接口提供了无序,不包含重复元素的集合。HashSet是Set接口基于哈希表的实现,不保证元素的顺序;而TreeSet则是基于红黑树实现,元素会按照自然顺序排序。

 // Set的创建和操作 Set<Integer> set = new HashSet<>(); //添加元素 set.add(5); set.add(1); set.add(3); //删除元素 set.remove(1); //判断元素是否存在 set.contains(5); //遍历元素 for (Integer i: set) { System.out.println(i); } 

二、List接口和ArrayList、LinkedList实现

List接口提供了有序,可以包含重复元素的集合。ArrayList是List接口的一种动态数组实现,适合随机访问元素;而LinkedList是基于链表的实现,适合数据的动态插入和删除。

 // List的创建和操作 List<Integer> list = new ArrayList<>(); //添加元素 list.add(5); list.add(1); list.add(3); //删除元素 list.remove(new Integer(1)); //获得元素 list.get(0); //遍历元素 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } 

三、Map接口和HashMap、TreeMap实现

Map接口提供了一个从键到值的映射关系。HashMap是Map接口基于哈希表的实现,不保证键的顺序;而TreeMap则是基于红黑树实现,键会按照自然顺序排序。

 // Map的创建和操作 Map<String, Integer> map = new HashMap<>(); //添加键值对 map.put("one", 1); map.put("two", 2); //删除键值对 map.remove("one"); //获得键对应的值 map.get("two"); //遍历键值对 for (Map.Entry<String, Integer> entry: map.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); }