【问题标题】:Storing data from string Array to String ArrayList将数据从字符串数组存储到字符串数组列表
【发布时间】:2011-03-06 13:10:07
【问题描述】:

我有

String add_data[] = new String[6];

数据位于 0,1,2,3,4,5 索引处。

我也有

 ArrayList<String> data = new ArrayList<String>();

现在我需要将值放入 add_data 中 data[0] 的所有索引中。

我该怎么做?请指导我。

例如。 add_data[0]="a"; add_data[0]="b";

data[0] should have "ab"

【问题讨论】:

  • 即使在阅读了答案后,我还是不明白这个问题。您是否有一个数组并希望将其元素填充到 ArrayList 中?还是反过来?

标签: java arrays list


【解决方案1】:

使用Arrays.asList(array) 方法将数组复制到List。在你的情况下 - String[]List&lt;String&gt;

【讨论】:

  • 我不这么认为这是这个问题的答案
  • @smas 问题有点不清楚,但据我所知,OP 想要将数组复制到列表中。
  • 对我来说:他想连接所有 add_data 元素并放入索引为 0 的数据(ArrayList)中
【解决方案2】:
String result = "";
for (int i = 0; i < add_data.length: i++) {
  result += add_data[i];
}
data.add(result);

【讨论】:

    【解决方案3】:

    我不确定你想做什么,但试试这个:

    String temp = "";
    for(String s : add_data) {
        temp += s;
    }
    data.put(temp);
    

    【讨论】:

    • 您的 for 循环语法错误,您只需要 for 而不是 foreach。 StringBuilder 也不会比循环中的串联更好吗?
    • 最近 PHP 太多了 ^^ 对于 Stringbuilder,我已经有一段时间没有看到基准测试了,但我不记得在这种情况下的性能差异。
    【解决方案4】:

    你需要:

    1. 连接数组中的所有字符串
    2. 将它放在 ArrayList 中的 0 索引处

    类似这样的:

    String addData[] = new String[6];
    ArrayList<String> data = new ArrayList<String>();    
    addData[0] = "a";
    addData[1] = "b";
    
    // 1. catenate all strings
    String str = "";
    for (String s : addData) {
        str += (s != null)?s:"";
    }
    
    // 2. put it into 0 index in your arraylist     
    data.add(0, str);
    System.out.println(data.get(0));
    

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 2019-07-02
      • 2015-02-08
      相关资源
      最近更新 更多