List 排序截取 复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33863843/article/details/83616057
    /**
     * 排序 截取数据
     * 此处是根据buys大小排序
     */
    private List<Map<String, Object>> sort(List<Map<String, Object>> list) {
        //匿名实现Comparator接口进行排序
        list.sort((o1, o2) -> {
            //进行判断
            return ((Long) o2.get("buys")).compareTo((Long) o1.get("buys"));
        });
        //取销量前十
        if (list.size() > 10) {
            list = list.subList(0, 10);
        }
        return list;
    }

    /**
     * copy List数据信息
     */
    private static <T> List<T> deepCopy(List<T> src) {
        ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
        ObjectOutputStream out;
        try {
            out = new ObjectOutputStream(byteOut);
            out.writeObject(src);

            ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
            ObjectInputStream in = new ObjectInputStream(byteIn);
            @SuppressWarnings("unchecked")
            List<T> dest = (List<T>) in.readObject();
            return dest;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

猜你喜欢

转载自blog.csdn.net/qq_33863843/article/details/83616057