我需要创建Integer
和String
配对,例如
(1,one)
(2,two)
(3,three)
稍后我想迭代它并获取特定String
值的Integer
,
说的像
if int val == 2
,返回String。
我该怎么做?
答案 0 :(得分:0)
Map<Integer,String> map = ...
然后当你想迭代键时,使用
map.keySet()
获取用作键的整数列表
答案 1 :(得分:0)
您可以使用Map
:
Map m = new HashMap<Integer, String>();
m.put(1, "one");
m.put(2, "two");
m.put(3, "three");
// Iterate the keys in the map
for (Entry<Integer, String> entry : m.entrySet()){
if (entry.getKey().equals(Integer.valueOf(2)){
System.out.println(entry.getValue());
}
}
考虑到根据Map
的定义,对于给定的整数,您不能有两个不同的字符串。如果您想允许此操作,则应使用Map<Integer, List<String>>
代替。
请注意,java不提供Pair
类,但您可以自己实现一个:
public class Pair<X,Y> {
X value1;
Y value2;
public X getValue1() { return value1; }
public Y getValue2() { return value2; }
public void setValue1(X x) { value1 = x; }
public void setValue2(Y y) { value2 = y; }
// implement equals(), hashCode() as needeed
}
然后使用List<Pair<Integer,String>>
。