【问题标题】:2,3 dimensional LIST<String, String, String> How to realize? java [duplicate]2,3维LIST<String, String, String> 怎么实现? java [重复]
【发布时间】:2016-07-25 11:13:29
【问题描述】:

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

    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,但问题是它的长度是固定的。所以我需要使用一些集合,但找不到哪个以及如何。正如我现在,List 只有一个参数。有人可以帮我建议走哪条路或更好的方法(也许创建一个类并存储对象......)?

...提前表示感谢!

【问题讨论】:

  • 所以你想要一个动态的字符串列表?如果我没看错,那么List&lt;List&lt;String&gt;&gt; 将满足您的需求
  • 另一种选择是编写自己的列表。 Java 列表是基于数组的,因此您将创建类,其中将具有“添加”方法。此方法如何工作的步骤:1)创建新数组,该数组将处理旧元素+一个新元素 2)将元素从旧数组复制到新数组 3)将新元素添加到数组中。

标签: java arrays string collections


【解决方案1】:

创建一个包含 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());
        }
    }

【讨论】:

    【解决方案2】:

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

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

    所以每个列表都是一列

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 2014-07-22
      • 2017-05-08
      • 2020-01-26
      相关资源
      最近更新 更多