私の最初のJavaゲームのコードを今書いていますが、ArrayList
に問題があります。私は、テキストファイル(以下コード)からそれを作る具体的には、ニックネームとスコアのような要素で、次のいずれかを持っている:新しいArrayListを別の要素から作成する
static ArrayList<String> results = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader(ranking));
String line = br.readLine();
results.add(line);
while(line != null) {
line = br.readLine();
results.add(line);
}
br.close();
だから、ファイルは次のようになります。
nick1
score1
nick2
score2
...
を私は希望します私の考えは、フィールドnickとscoreを持つクラスを作成し、そのフィールドを何らかの方法でArrayListの魅力的なものに割り当てます。たぶん私はこの:(ようにこれを行うことができますか?)
for(int i = 0;i<results.size();i=i+2){
nick = results.get(i);
}
for(int i = 1;i<results.size();i=i+2){
score = results.get(i);
}
それから私は、その新しいクラスの型になり、新たなArrayList
を作成します。しかし、私の問題は、私が「古い」ArrayList
の値を、将来のタイプの新しいパラメータArrayList
とどのように関連付けることができないのかということです。新しいものは次のようになります:
static ArrayList<Ranking> resultsAfterModification = new ArrayList<Ranking>();
Ranking rank = new Ranking(nick, score);
次に、私はプレイヤーの得点を簡単に比較し、確実な順位をつけることができます。あなたはファイル内の配列を保存することができます
なぜArrayListを使用していますか?それの代わりにHashMapを使用してください。キーの値のペア(例:nickname1 = score1、nickname2 = score2.soなど)は、it.sortingに対して操作を追加、削除します。 –