Java中的集合框架


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());
}

评论关闭