使用矢量类型的一对多关系

One To Many Relationship Using Vector Type

我是 Java 编程新手。我刚刚遇到了使用向量类型建立一对多关系的新概念。 你能给我一个使用向量类型建立一对多关系的简单例子吗(包括 class、实现和使用 class 的例子)?

非常感谢。

您可以使用 Map 表示一个键与多个对象之间的关系。

import java.util.*;

public class Test {

    private static String[] val1 = {
            "q", "w", "e", "r", "t", "y"
    };

    private static String[] val2 = {
            "u", "i", "o", "p", "[", "]"
    };

    public static void main(String[] args) {
        Map<String, List<String>> map = new HashMap<String, List<String>>();
        map.put("foo", Arrays.asList(val1));
        map.put("bar", Arrays.asList(val2));

        System.out.println(map.get("foo"));
        System.out.println(map.get("bar"));
    }
}

这将产生一个如下所示的控制台:

编辑 - 如果您被迫使用向量:

因为向量只是列表,所以与向量建立一对多关系的唯一方法是创建 2 个平行向量:

import java.util.*;

public class Test {

    private static String[] val1 = {
            "q", "w", "e", "r", "t", "y"
    };

    private static String[] val2 = {
            "u", "i", "o", "p", "[", "]"
    };

    public static void main(String[] args) {
        Vector<String> keyVector = new Vector<String>();
        Vector<Vector<String>> valueVector = new Vector<Vector<String>>();

        keyVector.add("foo");
        keyVector.add("bar");

        valueVector.add(new Vector<String>(Arrays.asList(val1)));
        valueVector.add(new Vector<String>(Arrays.asList(val2)));

        //now let's say you want to find the objects that correspond with the key "bar"
         String key = "bar";

        for (int i = 0; i < keyVector.size(); i++) {
            if (keyVector.get(i).equals(key)) {
                System.out.println(valueVector.get(i));
            }
        }
     }
 }

输出: