3

我想创建一个多维数组,其中每个节点都将具有以下详细信息:

  1. 地名前:“迈索尔”,“班加罗尔”
  2. 图标名称 ex:“瀑布”、“野生动物”
  3. 放置距离例如:“200”、“123”

当我有超过 30 个值时,最好的方法是什么?

例子:

“班加罗尔”、“200”、“城市”

“迈索尔”、“100”、“历史”

我正在尝试在 Android 中填充一个列表数组,其中每一行都有三个详细信息 - 名称、图标、距离,所以我想在我的 java 类中临时填充该数据。

4

4 回答 4

21

不要使用多维数组。使用一个简单的对象数组(或列表):

public class Place {
    private String name;
    private String icon;
    private int distance;
    // constructor, methods skipped for brevity
}

...

private Place[] places = new Place[10];
// or
private List<Place> places = new ArrayList<Place>();

Java 是一种面向对象的语言。学习定义和使用对象。

于 2012-12-26T10:08:40.447 回答
3

我认为最好的选择是创建自定义对象。

Class TestObject
{
    String Place,Icon,Distance;
    // Setter and Getter method
}

// Create object of class. Store your value using setter and getter method 
   and save object into list

List<TestObject> test = new ArrayList<TestObject>();
test.add(testObject); //
于 2012-12-26T10:10:06.993 回答
2

在元素中创建具有所需属性的类。

现在您可以创建此类的对象数组。

class Place {
private String name;
private String icon;
private int distance;

public Place(String name,String icon,int distance){
  this.name=name;
  this.icon=icon;
  this.distance=distance;

} 

}

Place places[]=new Place[10];
places[0]=new Place("Mysore","wildlife",123); 
and so on

当心实例化对象,否则你最终会得到 NullPointerException

于 2012-12-26T10:09:51.167 回答
1

如果您不想创建单独的类。您也可以使用 JSON 来实现您的目的。
JSON 对象重量轻,可以非常轻松地管理 aaray 数据。

像 :

    JSONObject jo = new JSONObject();
    JSONArray ja = new JSONArray();
    ja.put("Mysore");
    ja.put("wildlife");
    ja.put(123);
    jo.add(KEY, ja); // Adding array to JSON Object with key [KEY can be any unique value]

JSON 易于阅读和管理。

它提供了很多功能而不是数组。

于 2012-12-26T11:48:12.430 回答