2,3维LIST <string,string,=“”string =“”>如何实现?的java

时间:2016-04-05 13:21:05

标签: java arrays string collections

这个想法是为了实现存储一些彼此相关的字符串变量的可能性。这样我就可以使用另一个元素找到一个(或两个)元素(如下面的代码所示)。数据库无法使用。 代码:

    public static void main(String[] args) {

    String[][] codesArrS = {{" ", "t", "n"}, {"231", "12223", "98745"}, {"Ver", "Gutva2", "Brezstel"}};
    String var0 = "t";
    String var1 = "231";
    String var2 = "Brezstel";
    for (int i = 0; i < 3; i++) {

        if (var0.equals(codesArrS[0][i])) {
            System.out.println("for var0=t we have var3 - " + codesArrS[2][i]);
        }
        if (var1.equals(codesArrS[1][i])) {
            System.out.println("for var1=231 we have var3 - " + codesArrS[1][i]);
        }
        if (var2.equals(codesArrS[2][i])) {
            System.out.println("for var2=Brezstel we have var3 - " + codesArrS[0][i]);
        }
    }
}

我使用了String 3D Array,但问题是它已经修复了长度。所以我需要使用一些Collection,但找不到哪一个以及如何。就像我现在一样,列表只有一个参数。有人可以帮助我提供哪种方式的建议或更好的方法(可能创建一个类和存储对象......)?

...提前感谢!

2 个答案:

答案 0 :(得分:2)

创建一个包含3个值的类,并在List中存储此类的对象。这样你的代码也会更具可读性。

List<Codes> codeList = new ArrayList<>();
    codeList.add(new Codes(" ", "231", "Ver"));
    codeList.add(new Codes("t", "12223", "Gutva2"));
    codeList.add(new Codes("n", "98745", "Brezstel"));

    String var0 = "t";
    String var1 = "231";
    String var2 = "Brezstel";

    for(Codes code : codeList) {

        if (var0.equals(code.getValue1())) {
            System.out.println("for var0=t we have var3 - " + code.getValue3());
        }
        if (var1.equals(code.getValue2())) {
            System.out.println("for var1=231 we have var3 - " + code.getValue2());
        }
        if (var2.equals(code.getValue3())) {
            System.out.println("for var2=Brezstel we have var3 - " + code.getValue1());
        }
    }

答案 1 :(得分:0)

如果您有固定数量的列,则可以使用Array ArrayList:

ArrayList<String>[] codesArrs = (ArrayList<String>[])new ArrayList[3];

所以每个列表都是一列