我想排序两个并行数组,一个是String,另一个是double数据类型

TaI*_*Ira 5 java arrays

我对编程场景比较陌生,我希望你帮我分类这些数组.我们的想法是在textArea上显示一个菜单项,并按名称对项目进行排序.parralel阵列包含食品,另一个包含价格.

String[] items  = {"Gatspy", "Coffee", "Chicken", "Mango Juice"};
double[] prices = {8.99, 23.50, 29.90, 7.50};
Run Code Online (Sandbox Code Playgroud)

Sea*_*oyd 2

首先不要使用数组,而使用Map. 在您的情况下,使用 a TreeMap,它按其键排序。

Map<String, Double> map = new TreeMap<String, Double>();
map.put("Gatspy", 8.99);
// put the other items
Run Code Online (Sandbox Code Playgroud)

现在迭代条目:

for(Map.Entry<String, Double> entry : map.entrySet()){
    System.out.println("<option value=\"" 
                       + entry.getValue() 
                       + "\">" 
                       + entry.getKey() 
                       + "</option>");
}
Run Code Online (Sandbox Code Playgroud)

参考: Java 教程> Collections Trail >地图接口

  • 一般来说,如果出现重复,例如“{"Coffee", "Chicken", "Coffee"}`和`{5.99, 6.0, 2.35}`,`Map`将不起作用 (3认同)