NSDictionary方法到java
我想用java做同样的事情,但我不太确定怎么做。 我在读到等价物应该是一张地图,但如何实现它是我的问题 我正在将IOs应用程序移植到android,我需要在我的应用程序中使用同样的东西NSDictionary方法到java,java,android,ios,objective-c,nsdictionary,Java,Android,Ios,Objective C,Nsdictionary,我想用java做同样的事情,但我不太确定怎么做。 我在读到等价物应该是一张地图,但如何实现它是我的问题 我正在将IOs应用程序移植到android,我需要在我的应用程序中使用同样的东西 -(NSDictionary*) states { NSString* state = @"SOME_STATE"; switch (self.state) { case 1: state = @"STATE1"; break; case 2: st
-(NSDictionary*) states {
NSString* state = @"SOME_STATE";
switch (self.state) {
case 1:
state = @"STATE1";
break;
case 2:
state = @"STATE2";
break;
case 3:
state = @"STATE3";
break;
case 4:
state = @"STATE4";
break;
case 5:
state = @"STATE5";
break;
case 6:
state = @"STATE6";
break;
case -1:
state = @"STATE-1";
break;
}
return @{@"state": state};
}
self.state是一个整数
我会感谢你的帮助
谢谢这应该是你所期待的:
public Map<String,String> states(){
String state = @"SOME_STATE";
switch (this.state) {
case 1:
state = "STATE1";
break;
case 2:
state = "STATE2";
break;
case 3:
state = "STATE3";
break;
case 4:
state = "STATE4";
break;
case 5:
state = "STATE5";
break;
case 6:
state = "STATE6";
break;
case -1:
state = "STATE-1";
break;
}
Map<String,String> map = new HashMap<String, String>();
map.put("state", state);
return map;
公共地图状态(){
字符串状态=@“某些状态”;
开关(此状态){
案例1:
state=“STATE1”;
打破
案例2:
state=“STATE2”;
打破
案例3:
state=“STATE3”;
打破
案例4:
state=“STATE4”;
打破
案例5:
state=“STATE5”;
打破
案例6:
state=“STATE6”;
打破
案例1:
state=“state-1”;
打破
}
Map Map=newhashmap();
地图放置(“状态”,状态);
返回图;
}这里有一个简单的解决方案。基本上,它显示了一种非常简单的机制,可以向地图添加内容并检索数据(如果找不到数据的键,则返回第一个数据)
Map Map=newhashmap();
//向地图添加数据
对于(int i=1;i@jens好奇:我们可以简单地做:HashMap=newhashmap();
而不是map..
?谢谢。@Unheilig您也可以做HashMap=newhashmap()
是否因为映射是最抽象的接口,因此如果以后有人想将映射更改为其他接口,则可能是因为使用了Map而不是HashMap?@Unheilig如果使用Map
接口,您可以将自己的实现更改为其他Map
实现,而无需更改代码t保留你的功能。
Map<Integer,String> map= new HashMap<Integer,String>();
//adding data to your map
for(int i=1;i<=7;i++){
map.put(i,"state"+1);
}
//retriving data
int stateNum=1;
if(map.containsKey(stateNum)){
System.out.println(map.get(stateNum);
}else{
//get the first element in the list assuming that's what you want
for(Entry<Integer,String> entry : map.entrySet()){
System.out.println(entry.getValue();
break;
}