Java 值对集合:类似数组的解决方案
在 Java 中,您可以使用 Map 定义保存键值对的集合。但是,您寻求一个集合,其中每个元素由两个值组成,每个值都有自己的类型,并且保持原始顺序。这实际上类似于每个元素具有特定类型的数组。
要满足此要求,请考虑使用 java.util.Map.Entry
要填充该集合,请使用 AbstractMap.SimpleEntry
Entry<String, Integer> pair1 = new SimpleEntry<>("Not Unique key1", 1); Entry<String, Integer> pair2 = new SimpleEntry<>("Not Unique key2", 2);
或者,您可以子类 ArrayList 来封装对的创建并添加方便的方法:
public class TupleList<E extends Map.Entry<K, V>> extends ArrayList<E> { public static <K, V> TupleList<Map.Entry<K, V>> of(K key, V value) { TupleList<Map.Entry<K, V>> list = new TupleList<>(); list.add(new SimpleEntry<>(key, value)); return list; } }
使用此方法,您可以定义并填充具有特定类型的对的集合:
TupleList<Map.Entry<String, Integer>> pairList = TupleList.of("Not Unique key1", 1); pairList.of("Not Unique key2", 2);
此解决方案提供了类似数组的结构使用类型安全的值对,避免自定义类的冗长或 2D 数组所需的转换。
以上是如何在 Java 中创建类型化值对的有序集合(如数组)?的详细内容。更多信息请关注PHP中文网其他相关文章!