-1

私は整数のリストを持っています:

 List<Integer> integers= new ArrayList<Integer>();
 integers.add(1);
 integers.add(2);
 integers.add(3);
 integers.add(7);
 integers.add(8);

次のような数値の範囲を含むリストを作成したい:

  • index1 = [1,3]
  • index2 = [7,8]
4

5 に答える 5

1

サブリストを試す

integers.subList(1, 3);

値ではなく、1 から 3 までのインデックス値によってのみ取得します。

また

あなたの期待値SubList

private static List<Integer> valueSubList(List<Integer> integers, int start, int end)
    {
        List<Integer> subList = new ArrayList<Integer>();
        if (end > start)
        {
            for (int i = start; i <= end; i++)
            {
                if(integers.contains(i))
                {
                    subList.add(i);
                }
            }
        }

        return subList;
    }
于 2013-10-21T09:35:59.917 に答える
0

与えられたリスト

List<Integer> integers= new ArrayList<Integer>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(7);
integers.add(8);

リストがソートされていない場合。並べ替え

Collections.sort(integers);

ここで、値が 3 の要素の後でリストを分割するとします。

int key = 3;
int index = Collections.binarySearch(integers, key);
List<Integer> index1 = integers.subList(0 , index);
List<Integer> index2 = integers.subList(index+1, integers.size() - 1);
于 2013-10-21T09:55:02.953 に答える
0
List<Integer> integers = new ArrayList<Integer>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(7);
integers.add(8);

List<List<Integer>> arrayList = new ArrayList<List<Integer>>(); 

arrayList.add(integers.subList(0, 3));
arrayList.add(integers.subList(3, 5));
于 2013-10-21T09:45:18.813 に答える
0

クイックソートのパーティション操作に似た何かをしようとしている、または必要としているようです。クイックソートのこのwikiページをチェックしてください。入力/期待される出力で質問を明確にするように依頼してください。

于 2013-10-21T10:08:00.260 に答える