0

是否可以有一个包含名称或引用其他数组的数组?

例如

String[] fruits={"orange","apple"};
String[] colors={"red","blue","green"};

第三个数组String[] array1={"fruits","colors"};

我实际上有很多数组,并且基于传递的数组,我需要将它与已经存在的数组进行比较。

就像如果我传递一个fruit数组然后将array1[0]th 数组即水果数组与传递的数组进行比较?

我可以将传递的数组与单个数组进行比较,并对每个数组进行比较,但是有更短的方法吗?

4

4 回答 4

2

你可以有一个数组数组:

String[][] myArr = {fruits, colors};

但正如@jlordo 所建议的那样,拥有一个包含表示数组名称的键和实际数组作为值的Map是一种更好的方法。String

于 2013-07-11T09:00:06.097 回答
2

就像我在问题下方的评论中建议的那样,您可以使用地图:

    String[] fruits = {"orange", "apple"};
    String[] colors = {"red", "blue", "green"};

    Map<String, String[]> map = new HashMap<>();
    map.put("fruits", fruits);
    map.put("colors", colors);

    String[] toCompare = map.get("fruits"); // will return the fruits array
于 2013-07-11T09:03:29.303 回答
0

由于已经介绍了双数组以及地图示例,让我们看一个带有 arraylist 的示例。

    String[] fruits = {"orange", "apple"};
    String[] colors = {"red", "blue", "green"};

    ArrayList<String[]> fruitsAndColors = new ArrayList<String[]>();
    fruitsAndColors.add(fruits);
    fruitsAndColors.add(colors);

您可以阅读其他插入方法的 java API:http: //docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

于 2013-07-11T09:18:28.690 回答
-1

您可以使用类拥有一个引用几乎任何东西的数组Object(您不限于 的数组String):

Object [] myArr = {fruits, colors};
于 2013-07-11T09:03:30.967 回答