我是Java编程的新手。我刚刚遇到了使用矢量类型建立一对多关系的新概念。 你能给我一个简单的例子,说明使用矢量类型建立一对多的关系(包括类,实现和使用该类的例子)吗?
非常感谢。
答案 0 :(得分:1)
您可以使用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"));
}
}
这将导致控制台看起来像这样:
编辑 - 如果您被迫使用向量:
因为Vector只是列表,与Vectors建立一对多关系的唯一方法是创建一个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));
}
}
}
}
输出: