インデックスとテキスト文字列の両方を保持するオブジェクトを作成します。好き
public class MyThing
{
public int index;
public String text;
}
次に、文字列のArrayListを作成する代わりに、これらのオブジェクトのArrayListを作成します。
何を使って並べ替えているのかわかりません。独自のソートを作成している場合は、文字列オブジェクト自体ではなく、各オブジェクトの「テキスト」メンバーに対して単純に比較を行うことができます。たとえば、Arrays.sortを使用して並べ替える場合は、Comparableを実装する必要があります。すなわち:
public class MyThing implements Comparable<MyThing>
{
public int index;
public String text;
public int compareTo(MyThing that)
{
return this.text.compareTo(that.text);
// May need to be more complex if you need to handle nulls, etc
}
// If you implement compareTo you should override equals ...
public boolean equals(Object that)
{
if (!(that instanceof MyThing))
{
return false;
}
else
{
MyThing thatThing=(MyThing)that;
return this.text.equals(thatThing.text);
}
}
}
何をしようとしているのかによっては、他のものが必要になる場合があります。