我有一个整数列表:
List<Integer> integers= new ArrayList<Integer>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(7);
integers.add(8);
我想制作一个包含这样的数字范围的列表:
答案 0 :(得分:1)
尝试subList
integers.subList(1, 3);
仅通过索引值从1到3获取,而不是通过值。
或
您的期望值子列表
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;
}
答案 1 :(得分:0)
List<Integer> index1=ArrayList<Integer>();
index1.add(1);
index1.add(2);
index1.add(3);
List<Integer> index2=ArrayList<Integer>();
index2.add(7);
index2.add(8);
答案 2 :(得分: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));
答案 3 :(得分: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);
答案 4 :(得分:0)
似乎你正在尝试做或需要类似于快速排序的分区操作的东西。请查看quick sort的此Wiki页面。请求您使用输入/预期输出澄清您的问题。