- 締切済み
配列の抽出
たびたび失礼します 以下のようなプログラムを記述しました private String[] setWorst(String[] score,String[] score2,String[] score3){ //ソート Data[] Datas = new Data[score.length]; for(int i = 0; i < Datas.length; i++){ Data Data = new Data(); Datas[i] = Data; Data.score = Integer.valueOf(score[i]); Data.s_indicator = s_indicator[i]; Data.center = center[i]; } ScoreComparator scoreComparator = new ScoreComparator(); Arrays.sort(Datas,scoreComparator); //ワーストの抽出 ArrayList worst3 = new ArrayList(); public class Data{ Integer score; String score2; // String score2; // } public class ScoreComparator implements Comparator{ public int compare(Object o1, Object o2){ Data Data1 = (Data)o1; Data Data2 = (Data)o2; int result = Data1.score.compareTo(Data2.score); return result; } } 変数scoreを中心としたソートを作成しました。 次にscoreの値を読み込んで下位4つを抜き出してArrayList worst3に格納していきたいと思っています。 scoreには0~10の数字が入っていますので0~3を抜き出したいということです。 自分でもいろいろ試しましたが、なかなか良い考えが浮かばないので知恵を借りたいと思います。 ヒントやアイデアだけでも結構ですので、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
ん? for( int n = 0; n < 4; n++ ) { worst3.add( Datas[n] ); } でダメなんですか ・・・ Datasに読み込まれるscoreは重複があるのでしょうか? お示しのコードには定義されていない変数、フィールドなどもあるようですが・・・ > Data.s_indicator = s_indicator[i]; > Data.center = center[i];
お礼
遅くなりました申し訳ありません。 ありがとうございました。