我之前在谷歌上搜索过,答案是否定的,但我想知道是否有任何可能的方法。
在Java中,有没有一种给二维数组的行和列命名的方法?
String[][] persons;
persons[0][1];
如果你遇到这样的代码,应该首先让它更易读。
public static final int FIRSTNAME = 0;
public static final int LASTNAME = 1;
persons[0][FIRSTNAME];
persons[0][LASTNAME];
一个更好的封装数据结构的方法是使用类:
```public class Person {
private String firstname;
private String lastname;
public String getFirstname(){
return firstname;
}
public String getLastname(){
return lastname;
}
}
Person[] persons;
person[0].getFirstname();
如果您希望更改尽可能少:
public class Person {
public static final int FIRSTNAME = 0;
public static final int LASTNAME = 1;
private String[] personData;
public String getFirstname(){
return personData[FIRSTNAME];
}
public String getLastname(){
return personData[LASTNAME];
}
}
做出你的选择
忘掉关联数组吧。现在你在Java中,走向更高级的方式 :)
为此,Java提供了映射。你需要使用maps。
这是一个例子
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
Map<String ,Integer> m1 = new HashMap<String ,Integer>();
m1.put("name1", 8);
m1.put("name2", 31);
m1.put("name3", 12);
m1.put("name4", 14);
System.out.println();
System.out.println(" Map Elements");
System.out.print("\t" + m1);
}
}
在Java中是否有一种方法可以为二维数组的行和列命名?
Map<X, Map<Y,Z>> map1;
Map
,而不是使用数组。Map<String,ArrayList<SomeObject>> map = new HashMap<String,ArrayList<SomeObject>>();
Map
来实现此功能。 - Uwe Plonus