是否有可能采取类似的Vector对象,使其具有多种仿制药?我知道当你创建一个类时可能会有这种可能,但是其他的类与普通的Java API(比如Vectors,Stack等)一起可以有多个泛型?的Java:矢量与多个仿制药
例如:
Vector<String, Integer> vect = new Vector<String, Integer>();
vect.add("Hello!", 0);
由此看来,一个索引将具有两个值,字符串和整数。
在此先感谢!
是否有可能采取类似的Vector对象,使其具有多种仿制药?我知道当你创建一个类时可能会有这种可能,但是其他的类与普通的Java API(比如Vectors,Stack等)一起可以有多个泛型?的Java:矢量与多个仿制药
例如:
Vector<String, Integer> vect = new Vector<String, Integer>();
vect.add("Hello!", 0);
由此看来,一个索引将具有两个值,字符串和整数。
在此先感谢!
的Vector
类实现可增长的对象数组,我认为你正在寻找地图,java.util.Map<key,value>
,实现地图的是HashMap<k,v>
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"str");
我从来没有使用过HashMap。它与HashTable有多相似? –
它更贴近 –
我猜地图
我不会用一个Vector是你可以用一个列表。你的情况,你需要使用自定义类像
class MyClass {
String s;
int i;
MyClass(String s, int i) {
this.s = s;
this.i = i;
}
}
List<MyClass> list = new ArrayList<MyClass>();
list.add(new MyClass("Hello!", 0));
String s = list.get(0).s;
int i = list.get(0).i;
集合,例如向量,只能包含1种类型的对象。您正试图存储2个对象。创建一个名为StringIntegerTuple的类,该类包含对要存储的对象的2个引用,然后声明Vector并存储复合对象。
虽然语义很可能你想要一个HashMap
创建这样一个元组类是海事组织的方式矫枉过正。 OO应该被用来增加价值,而不仅仅是为了它! http://prog21.dadgum.com/156.html – fgysin
我同意但在Java中没有很多选项。 –
相关:?什么是C++对在Java中的等价物(http://stackoverflow.com/questions/156275/what-is-the -e-c-pairl-r-in-java) –
http://stackoverflow.com/questions/2670982/using-tuples-in-java –