从一组集合中获取,分多次取集合中的每段数据中的最大值,重组成一个新的集合。

Posted 火龙裸先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一组集合中获取,分多次取集合中的每段数据中的最大值,重组成一个新的集合。相关的知识,希望对你有一定的参考价值。

一个项目中偶遇的简单算法,个人觉得还不错,虽不常用,也记录在此吧。

 1 package huolongluo.qihuo.util;
 2 
 3 import android.util.Log;
 4 
 5 import java.util.ArrayList;
 6 import java.util.Collections;
 7 import java.util.List;
 8 
 9 /**
10  * Created by 火龙裸先生 on 2017/11/13.
11  */
12 
13 public class ListUtils
14 {
15     private static final String TAG = "ListUtils";
16     /**
17      * 从一个集合里面,从0位置开始,
18      * 每次从集合截取指定长度的一段集合,取出其中的最大值。
19      * 最终把每次拿到的最大值,形成一个新的集合作为返回值。
20      * 
21      * @param oldList 待处理的集合
22      * @param space   每次从老集合中取多少个值进行比较
23      */
24     public static List<Float> getNewList(List<Float> oldList, int space)
25     {
26         Log.e(TAG, "===============数据源==============" + oldList);
27 
28         List<Float> last = new ArrayList<>(); // 数据源末尾多出来的几个数
29 
30         int index = 0;
31         for (int i = 0; i < oldList.size(); i++)
32         {
33             if (index + space < oldList.size())
34             {
35                 Log.e(TAG, "==========截取到的是======" + oldList.subList(index, index + space));
36                 last.add(Collections.max(oldList.subList(index, index + space)));
37             }
38             else
39             {
40                 if (index < oldList.size())
41                 {
42                     last.add(Collections.max(oldList.subList(index, oldList.size())));
43                     Log.e(TAG, "********末尾集合********" + oldList.subList(index, oldList.size()));
44                 }
45             }
46             index = index + space;
47         }
48         Log.e(TAG, "=================最终结果=============" + last);
49         Log.e(TAG, "=================最终结果===条数==========" + last.size());
50 
51         return last;
52     }
53 }

 

以上是关于从一组集合中获取,分多次取集合中的每段数据中的最大值,重组成一个新的集合。的主要内容,如果未能解决你的问题,请参考以下文章

如何对集合中的每条记录执行计算

如何获取集合中的最大字段值?

如何在一组特定字符中的每一个之后将字母变为大写

Backbone.js — 匿名视图实例中的集合在获取时多次请求

Mongodb,使用javascript从一组对象中删除一个对象

数据结构 集合_集合实例(集合覆盖)