Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NSDictionary方法到java_Java_Android_Ios_Objective C_Nsdictionary - Fatal编程技术网

NSDictionary方法到java

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

我想用java做同样的事情,但我不太确定怎么做。 我在读到等价物应该是一张地图,但如何实现它是我的问题

我正在将IOs应用程序移植到android,我需要在我的应用程序中使用同样的东西

-(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;
}