首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在单个数据结构中维护来自两种不同类型的值的java映射

在Java中,可以使用泛型来实现在单个数据结构中维护来自两种不同类型的值的映射。一种常用的数据结构是HashMap,它可以用于存储键值对。在这种情况下,我们可以使用泛型来指定键的类型和值的类型。

下面是一个示例代码:

代码语言:txt
复制
import java.util.HashMap;

public class TwoTypeMap<K, V1, V2> {
    private HashMap<K, Object> map;

    public TwoTypeMap() {
        map = new HashMap<>();
    }

    public void put(K key, V1 value1, V2 value2) {
        Object[] values = new Object[]{value1, value2};
        map.put(key, values);
    }

    public V1 getValue1(K key) {
        Object[] values = (Object[]) map.get(key);
        return (V1) values[0];
    }

    public V2 getValue2(K key) {
        Object[] values = (Object[]) map.get(key);
        return (V2) values[1];
    }

    public static void main(String[] args) {
        TwoTypeMap<String, Integer, String> map = new TwoTypeMap<>();
        map.put("key1", 10, "value1");
        map.put("key2", 20, "value2");

        System.out.println(map.getValue1("key1")); // 输出:10
        System.out.println(map.getValue2("key2")); // 输出:"value2"
    }
}

在这个示例中,我们定义了一个TwoTypeMap类,它使用泛型K表示键的类型,V1表示第一个值的类型,V2表示第二个值的类型。内部使用HashMap来存储键值对,值的类型是Object[]数组,其中第一个元素是V1类型的值,第二个元素是V2类型的值。

通过put方法可以将键和两个值存储到映射中,通过getValue1getValue2方法可以分别获取第一个值和第二个值。

这种方式可以用于在单个数据结构中维护来自两种不同类型的值的映射,适用于需要同时存储多个值的场景,例如存储学生的姓名和年龄、商品的名称和价格等。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券