我想在2D数组中分配一些值.
我有2个属性叫做产品和价格.
iPad 999.9
iPod 123.4
iPhone 432.1
Run Code Online (Sandbox Code Playgroud)
在一维数组中,我知道如何分配产品值.
String[] product = {"iPad", "iPod", "iPhone"};
Run Code Online (Sandbox Code Playgroud)
但是,在2D数组中,如果我像这样分配:
String[][] array = new String[3][1];
array[0][1] = "iPad";
Run Code Online (Sandbox Code Playgroud)
如何将浮点数分配给数组?
另外,我有一个排序问题.
因为我将2D数组的类型声明为String.
我可以使用这个数组对浮动价格进行排序吗?
或者我需要声明另一个数组来进行排序?谢谢
如果您使用对象而不是数组来存储产品,那么您将省去很多麻烦.例如,
class Product {
String name;
double price;
}
Run Code Online (Sandbox Code Playgroud)
(如有必要,添加访问修饰符,setter/getters和构造函数)
现在,您可以轻松访问产品阵列而无需进行类型转换.
Product[] array = new Product[3];
array[0] = new Product();
array[0].name = "iPad";
array[0].price = 123.4;
Run Code Online (Sandbox Code Playgroud)
或者,如果添加构造函数,
Product[] array = {
new Product("iPad", 123.4),
new Product("iPod", 234.5),
new Product("iPhone", 345.6)
};
Run Code Online (Sandbox Code Playgroud)
要允许排序,可以实现Comparable
接口然后调用Arrays.sort(myProductArray)
:
class Product implements Comparable<Product> {
String name;
double price;
public int compareTo(Product p) {
return ((Double) price).compareTo(p.price);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2390 次 |
最近记录: |