Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实现ArrayList的中值拆分_Java_Arraylist - Fatal编程技术网

Java 如何实现ArrayList的中值拆分

Java 如何实现ArrayList的中值拆分,java,arraylist,Java,Arraylist,我试图返回一个列中位数以上的值的数组列表。例如,我有一个对象列表,如: List<ObjectX> where Object X has a value v such that v=25. Object X has a value v such that v=15. Object X has a value v such that v=5. Object X has a value v such that v=35. 列出 对象X的值为v,因此v=25。 对象X的值为v,因此v=

我试图返回一个列中位数以上的值的数组列表。例如,我有一个对象列表,如:

List<ObjectX> where 
Object X has a value v such that v=25.
Object X has a value v such that v=15.
Object X has a value v such that v=5.
Object X has a value v such that v=35.
列出
对象X的值为v,因此v=25。
对象X的值为v,因此v=15。
对象X的值为v,因此v=5。
对象X的值为v,因此v=35。
我的尝试:

public static ArrayList<ObjectX> medianSplit(ArrayList<ObjectX> data,boolean lowerHaf){
    Collections.sort(data);
     return data.subset(0,data.size()/2);
}
公共静态ArrayList medianSplit(ArrayList数据,布尔值lowerHaf){
收集、分类(数据);
返回data.subset(0,data.size()/2);
}
这不是一个学校项目,我可以使用任何代码,我的尝试是基于另一篇SO帖子。

这似乎可以使用


使用子列表(0,N)创建子列表,N是独占的

这不会将项目复制到新列表,但会返回现有列表上的列表视图

这应该可以解决这个问题:

data.subList(0, data.size() / 2);

以下是Java8的排序

data.sort(Comparator.comparing(a -> a.v));
然后你就可以回来了

Arrays.copyOfRange(data, 0, data.size()/2); 

什么专栏?我只看到一排,结果如何?什么不适合你?你做了什么调试?布尔值的用途是什么?
data.sort(Comparator.comparing(a -> a.v));
Arrays.copyOfRange(data, 0, data.size()/2);