首页 >Java >java教程 >如何在 Java 中创建类型化值对的有序集合(如数组)?

如何在 Java 中创建类型化值对的有序集合(如数组)?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-15 09:49:09362浏览

How Can I Create an Ordered Collection of Typed Value Pairs in Java Like an Array?

Java 值对集合:类似数组的解决方案

在 Java 中,您可以使用 Map 定义保存键值对的集合。但是,您寻求一个集合,其中每个元素由两个值组成,每个值都有自己的类型,并且保持原始顺序。这实际上类似于每个元素具有特定类型的数组。

要满足此要求,请考虑使用 java.util.Map.Entry。此类使您能够创建单独的值对。通过创建 List>,您可以存储有序的对集合。

要填充该集合,请使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn