2番目の項目の配列リストをソートする

私はスピナーでそれを使用するための配列リストを持っている、私はタイトルとしてスピナーを持っていると私はスピナーの2番目の項目から配列リストを並べ替えるが、私はこれを行う方法を知っていない私は以下のトリックを使用していますが、タイトルは最初の項目を含むリストなので、2番目の項目から統計をソートする方法... 私のコードは以下の通りです...

//this is my title ie. "provincia"
    String select2= "Provincia";
       if(!estado1.contains(select2)){
          estado1.add(select2);
          }

     for (int i = 0; i < sitesList1.getEstado().size(); i++)
     {
         if(!estado1.contains(sitesList1.getEstado().get(i))) 
            {

             estado1.add(sitesList1.getEstado().get(i));
                  Collections.sort(estado1);

            }

スピナーで表示するために以下のコードを使用してください...

 final ArrayList estado1 = MainMenu.barrio1;
     final Spinner estado11 = (Spinner) findViewById(R.id.Spinner04);
     ArrayAdapter adapterbarrio = new ArrayAdapter(this, 
           android.R.layout.simple_spinner_item, estado1)

           estado11.setAdapter(adapterbarrio);
1
最初の項目がwithspaceで始まる場合は(単に答えてもらえません)最初の項目を削除してtempに格納し、残りの部分をソートし、add(0、temp)を使って最初の位置にtemp項目を挿入する " - "
追加された 著者 Selvin,

4 答え

なぜタイトルを削除しないでください/リストがソートされた後でタイトルを追加するだけですか?

2
追加された

これはどう

    List list = new ArrayList();
   //Fill list
    String title = list.get(0);
    list.remove(0);
    Collections.sort(list);
    list.add(0, title);
2
追加された

バブルソートを使用!インデックス= 1で開始!

final ArrayList estado1;
for(int i=1; i

PS:非常に悪い成果

1
追加された
@Knickediは-1でしたか?私は意図的に PS:非常に悪いパフォーマンスを追加しましたので、これは悪いプログラミングだということを知ることができますか?
追加された 著者 Sherif elKhatib,
set を使うことができます。それは内部アレイのシフトを避け、より良い方法を実行します。大きなリストの場合は、とにかくマージソートをお勧めします。
追加された 著者 Knickedi,
いいえ、私ではありませんでした。私はそれを述べていただろう。私は通常、正当な理由を残さずに決して投票しません。あなたのメモが追加されたので、あなたの回答は完璧です;-)
追加された 著者 Knickedi,

1つの方法は、arraylistのように分割することです

estado1.subList(1,estado1.size()-1);

これはあなたのタイトルを除くサブリストを返します。

1
追加された