使用矢量类型的一对多关系
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));
}
}
}
}
输出:
我是 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));
}
}
}
}
输出: