我能用java中的变量命名数组吗?

时间:2010-11-24 21:46:36

标签: java arrays

例如我想这样做:

String[] arraynames = new String[2];
arraynames[0] = "fruits";
arraynames[1] = "cars";

现在我不知道该怎么做

String[] arraynames[0] = new String[100]; // ??????

这样我创建了一个名为fruits的String数组,包含100个单元格...... 我知道这不起作用,但有一点可以做到这一点吗?

7 个答案:

答案 0 :(得分:15)

使用HashMap

示例:

HashMap<String,String[]> arraynames = new HashMap<String,String[]>();
arraynames.put("fruits", new String[1000]);

// then simply access it with
arraynames.get("fruits")[0] = "fruit 1";

但是,我建议您使用ArrayList替换数组吗?

HashMap<String,ArrayList<String>> arraynames = new HashMap<String,ArrayList<String>>();
arraynames.put("fruits", new ArrayList<String>());

// then simply access it with
arraynames.get("fruits").add("fruit 1");

** 编辑 **

要使用float值数组而不是字符串

HashMap<String,ArrayList<Float>> arraynames = new HashMap<String,ArrayList<Float>>();
arraynames.put("fruits", new ArrayList<Float>());

// then simply access it with
arraynames.get("fruits").add(3.1415f);

答案 1 :(得分:1)

那么,您正在寻找一个双重索引数组?

类似的东西:

String[][] arraynames = String[2][100];

您创建了一个包含2个数组的数组,在这种情况下每个数组包含100个String元素。

答案 2 :(得分:0)

我希望我能帮到你,你可以这样:

ArrayList arraynames = new ArrayList();

arraynames.add("fruits"); 
arraynames.add("cars");

arraynames.set(0, new ArrayList(100) );

答案 3 :(得分:0)

我在这里的第二行代码上并不十分清楚。你说你正在尝试创建一个名为fruits的字符串数组。如果我理解这一点,这就足够了。

String [] fruits = new String[100]; 

答案 4 :(得分:0)

你应该使用这样的二维数组:

String[][] myData = new String[2][100];

现在myData是一个包含2个元素的数组,它们都是“100个单元格”的数组,然后你可以按如下方式使用这两个数组:

String[] fruits = myData[0];
String[] cars = myData[1];
fruits[0] = "peach";
cars[0] = "mustang";

答案 5 :(得分:0)

使用Guava库:

ListMultimap<String,String> mappedItems = ArrayListMultimap.create();
mappedItems.put("Fruits","Apple");
mappedItems.put("Fruits","Orange");
mappedItems.put("Fruits","Banana");
mappedItems.put("Cars", "BMW");
mappedItems.put("Cars","Ferrari");
System.out.println(mappedItems);

输出:

  

{Cars = [BMW,Ferrari],Fruits = [Apple,Orange,Banana]}

答案 6 :(得分:0)

您可以使用以下其中一项:

String[][] arraynames = String[2][100];
Map<String, String[]> namesMap = new HashMap<String, String[]>();
List<List<String>> names = new ArrayList<ArrayList<String>()>>();