我在JAVA中声明了string array d={monday,tuesday,wednesday}
。我想在另一个2D数组"d"
中使用e[d][t]
作为索引,这样当我d++
时,星期一变成星期二.....这可能吗?如果是的话,怎么样?
答案 0 :(得分:3)
看来你正在寻找
List<String> indexes = new ArrayList<String>();
Map<String, String> map= new HashMap<String, String>();
//iterate through each keys
for(String index: indexes){
String value = map.get(index);
}
答案 1 :(得分:0)
如果它是C ++,你可以覆盖++
运算符来增加数组中的元素,但在Java中不可能(根据我的第一个视图)。
仍然搜索,保持线程打开。
答案 2 :(得分:0)
嗯,你应该更好地使用hashmaps来使设计更清晰。可能的解决方案如下:
List<Integer> indices = new ArrayList<Integer>();
Map<Integer, String> map= new HashMap<Integer, String>();
Integer i= 0;
while(some condition){
String str= map.get(i++);
}
答案 3 :(得分:0)
好吧,你可以使用枚举
public enum FOO
{
monday(0),tuesday(1),...;
private int index;
private FOO(int index){ this.index = index; }
public int getIndex(){ return index; }
}
这样,你就能做到
FOO d = FOO.monday;
some_array[d.getIndex()][some_index];
并且您还可以实现某种函数getNext(),它可以让您在枚举中获得第二天。
答案 4 :(得分:0)
此枚举映射是使用有意义的数字顺序表示字符串值的最佳方式。但是,我仍然会使用哈希映射实现。它看起来像
HashMap<Weekday, ArrayList> = ...
然后,您仍然可以轻松遍历一周中的所有日子以获得您的价值观。
虽然谨慎。您并未具体说明这些天来访问的价值观。大概更多的字符串。你试图表达或完成什么?