在Java中,泛型extends
关键字在集合中的应用主要用于限制集合中元素的类型。它确保了集合中的元素必须是给定类型的子类或相同类型。这有助于提高代码的安全性和可读性。
以下是一些使用泛型extends
关键字的集合示例:
List<T extends Number>
:这表示列表中的元素必须是Number
类或其子类,如Integer
、Double
等。List<Integer> integerList = new ArrayList<>();
integerList.add(1);
integerList.add(2);
List<Double> doubleList = new ArrayList<>();
doubleList.add(1.5);
doubleList.add(2.5);
Set<T extends Comparable<T>>
:这表示集合中的元素必须是实现了Comparable
接口的类型,以便可以对它们进行排序。Set<String> stringSet = new HashSet<>();
stringSet.add("apple");
stringSet.add("banana");
// 对集合进行排序
Collections.sort(stringSet);
Map<K extends Comparable<K>, V>
:这表示映射的键必须是实现了Comparable
接口的类型,以便可以对键进行排序。值类型V
没有这样的限制。Map<String, Integer> stringIntegerMap = new HashMap<>();
stringIntegerMap.put("apple", 1);
stringIntegerMap.put("banana", 2);
// 对映射的键进行排序
Map<String, Integer> sortedMap = new TreeMap<>(stringIntegerMap);
总之,泛型extends
关键字在集合中的应用有助于确保集合中元素的类型安全,并提供了更灵活和可读的代码。