【问题标题】:How can I combine two String[] Arrays into a 2D ArrayList using Java?如何使用 Java 将两个 String[] 数组组合成 2D ArrayList?
【发布时间】:2017-01-29 12:20:22
【问题描述】:

如何将以下两个string[] 数组组合成二维ArrayList

private String[] titles = {
        "Apple", "Orange", "Banana"};

private String[] details = {
        "Red Fruit", "Orange Citrus Fruit", "Yellow Fruit"};
  //In reality, these data sets are full. 

它需要适合包装类。这些方法需要看起来像这样,以便与其他类兼容。

private ArrayList<DataObject> getDataSet() {
    ArrayList results = new ArrayList<>();
    return results; //Just a rough view of the class. 
}

输出应该是二维的ArrayListString[] titles 在第一维,String[] details 在第二维。

基本上

results.add("Apple", "Red Fruit");

并为标题和详细信息中的所有项目执行此操作。

【问题讨论】:

  • 我不明白这是什么问题,你能解释一下吗?如果您需要更短的方法来执行此操作,您可能需要查看lambdas
  • @BackSlash 我需要将两个 String[] 合并到一个 ArrayList 中。它需要与其格式兼容才能正常工作
  • 编辑后的问题还不清楚。你能举例说明你期望什么样的输出吗?
  • 我希望它们被组合成一个二维数组列表。我真的不能把问题说得更清楚。不知何故,fluffyBatman 能够理解我的要求并提供了一段工作代码。

标签: java android arrays arraylist


【解决方案1】:

如果我们按照您提供的样品的方式进行,那么应该这样做。

private ArrayList<DataObject> mess() {
    ArrayList results = new ArrayList<>();
    for (int index = 0; index < titles.length; index++) {
        DataObject obj = new DataObject(titles[index],
                details[index]);
        results.add(index, obj);
    }
    return results;
}

请注意,如果您的这两个数组(标题和详细信息)的长度不同,那么这将不起作用。

【讨论】:

    【解决方案2】:

    您可以使用以下代码行来实现

    ArrayList<String> a = new ArrayList<>();
    a.addAll(Arrays.asList(titles));
    a.addAll(Arrays.asList(details));
    

    【讨论】:

      猜你喜欢
      • 2013-08-14
      • 2014-09-27
      • 1970-01-01
      • 2016-02-13
      • 2021-11-15
      • 2023-03-20
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多