いつもお世話になっております。
maisuというArrayListに、順不同な数値を格納しておき、
それを最小値順に順位付けしたいです。
たとえば、3,9,6,4なら、1,4,3,2といった感じです。
以下、作りかけのものです。
java
1 ArrayList maisu = new ArrayList(); 2 maisu.add(3); 3 maisu.add(9); 4 maisu.add(6); 5 maisu.add(4); 6 7 int maisuCnt = 1; 8 // 最小値格納用 9 int min = 0; 10 // 最小値Index 11 int minIdx = 0; 12 Integer objInt; 13 for (int i = 0; i < maisu.size(); i++) { 14 if (maisu.get(i) == "") { 15 continue; 16 } 17 objInt = Integer.parseInt((String)maisu.get(i)); 18 if (i == 0) { 19 min = objInt; 20 continue; 21 } 22 for (int j = i; j < maisu.size(); j++) { 23 if (maisu.get(j) == "") { 24 continue; 25 } 26 objInt = Integer.parseInt((String)maisu.get(j)); 27 if (objInt < min && objInt > maisuCnt) { 28 min = objInt; 29 minIdx = j; 30 } 31 } 32 // 最小値を更新 33 maisu.set(minIdx, String.valueOf(maisuCnt)); 34 maisuCnt += 1; 35 }
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー