java数组创建并发症

时间:2014-06-18 02:11:06

标签: java python arrays

在仅使用python和javascript等语言进行编码后成为java新手,描述我的问题的最佳方式是使用这两种语言中的一种语言。从我为我的java程序获得的错误开始是当我尝试直接创建一个数组时,例如string[] narray = {{'test',1}, {'test', 2}, {'test', 3}}现在做这样的事情给了我一个非法的初始化错误,所以我把它改为Array[][] narray = {{'test',1}, {'test', 2}, {'test', 3}}但它现在给我一个“找不到符号”的错误。关于如何直接创建这样的数组,我有点不知所措。在python我只需narray = [['test', 1], ['test', 2], ['test', 3]]。我如何在java中定义这样的数组?谢谢。

2 个答案:

答案 0 :(得分:1)

如何在特定情况下使用HashMap:

HashMap<String,Integer> map = new HashMap<>();
map.put("foo",1);
map.put("bar",2);
map.put("baz",3);

如果值重复自己,则考虑这对对象:

class Pair<F,S> {
    public final F first;
    public final S second;
    public Pair(F first,S second){
        this.first = first;
        this.second = second;
    }
}

// in your method

List<Pair<String,Integer>> myList = new ArrayList<>();
myList.add(new Parir("foo",1);
myList.add(new Parir("bar",1);
myList.add(new Parir("foo",3);

因为你跳转到一种类型安全的语言,你也可以开始思考一个

答案 1 :(得分:0)

对于Java,String[]的语法是关闭的,我相信你想要这样的东西;

String[] narray = {"test", "test", "test"};
System.out.println(Arrays.toString(narray));

// alternatively (using explicit indexes).    
String[] tmp = new String[2];
tmp[0] = "1";
tmp[1] = "2";
System.out.println(Arrays.toString(tmp));

当我运行上述内容时,我得到(正如预期的那样)

[test, test, test]
[1, 2]