精华内容
下载资源
问答
  • javalist前几条数据

    千次阅读 2020-11-18 15:04:41
    java中list取前几条数据: List newList = list.subList(start, end); start,end分别是第几个到第几个。start是从截取开始下标,end是需要截取后一位下标值。 比如:想要获取List集合中前三位数据,需要传值...

    java中list取前几条数据:

    List newList = list.subList(start, end);

     start,end分别是第几个到第几个。start是从截取开始的下标,end是需要截取的后一位下标值。

    比如:想要获取List集合中前三位数据,需要传值为list.subList(0,3); 即包前不包后。

    展开全文
  • java实现从list对象中获取前几条数据

    千次阅读 2020-05-11 10:59:20
    javalist前几条数据:(使用subList) List<KPoit> list = imWrsyQbService.selectJcdwDqWater(sjDto); 根据查询查出几百条对象数据 if(list.size()<=5){ return R.ok(list); }else { List list1;...

    java中list取前几条数据:(使用subList)

    List<KPoit> list = imWrsyQbService.selectJcdwDqWater(sjDto);
    

    在这里插入图片描述

    根据查询查出几百条对象数据

    if(list.size()<=5){
          return R.ok(list);
     }else {
          List list1;
          list1 = list.subList(0,5);
          return R.ok(list1);
     }
    

    注意:其中的list1一定要用List类型

    在这里插入图片描述

    如果使用ArrayList,则会报错:

    java.lang.ClassCastException: java.util.ArrayList$SubList cannot be cast to java.util.ArrayList

    原因如下:

    因为 subList 返回的 List 是 ArrayList 内部类 SubList(继承自 AbstractList),看起来都是 List 的实现,但是不是同一个子类,无法强转为 ArrayList,修改方案为 subList 的返回接收声明为 List 类型即可。
    展开全文
  • 需求:根据area分组并统计分组后总数,根据统计出来总数降序排序,获取前10条数据。 <select id="selectByAreaDevNumList" resultMap="BaseResultMap" parameterType="java.util.List" > select area...

    数据库格式:

    需求:根据area分组并统计分组后的总数,根据统计出来的总数降序排序,获取前10条数据。

      <select id="selectByAreaDevNumList" resultMap="BaseResultMap" parameterType="java.util.List" >
        select
        area ,COUNT(*)
        from car_area
        where dev_num IN
        <foreach collection="list" item="list" open="(" separator="," close=")">
          #{list}
        </foreach>
        GROUP  BY area
        order by COUNT(*)
        DESC LIMIT 10
      </select>

    mysql中的代码获取如下:

    SELECT area ,COUNT(*)
    FROM car_area 
    GROUP  BY area 
    order by COUNT(*)
    DESC LIMIT 0,10
    

     或者可以这么写

    SELECT area ,COUNT(*)
    FROM car_area 
    GROUP  BY area 
    order by COUNT(*)
    DESC LIMIT 10

    运行结果如下:

    展开全文
  • 数据量大,如果每条数据每次都更新,则比较慢。因此需要“远程拉取数据list(A)”与"本地数据查询的list(B)"依据某些字段比较,然后获取A=B、A>B、B=A、B>A (谁在stream是以谁为基础) 2:数据准备 两个...

    1:需求

    定时从其他微服务同步数据,保存到本地数据库。数据量大,如果每条数据每次都更新,则比较慢。因此需要“远程拉取数据list(A)”与"本地数据查询的list(B)"依据某些字段比较,然后获取A=B、A>B、B=A、B>A (谁在前stream是以谁为基础)

    2:数据准备

    两个对象+两个list。。模拟从远程获取的数据+本地库查找的数据
    
    @Data
    public class Dish {
        private String name;    //菜的名称
        private Boolean vegetaian;  //是否为素
        private Integer calories;   //卡路里
        private Type type;      //类型(肉 鱼 其他)
        public Dish() { }
        public Dish(String name, Boolean vegetaian, Integer calories, Type type) {
            this.name = name;
            this.vegetaian = vegetaian;
            this.calories = calories;
            this.type = type;
        }
        public enum Type {MEAT, FISH, OTHER} //肉 鱼 其他
    }
    
    
    @Data
    public class UmDish {
    
        private String umname;    //菜的名称
        private Boolean umvegetaian;  //是否为素
        private Integer umcalories;   //卡路里
        private UmType umtype;      //类型(肉 鱼 其他)
        public UmDish() {
        }
        public UmDish(String umname, Boolean umvegetaian, Integer umcalories, UmType umtype) {
            this.umname = umname;
            this.umvegetaian = umvegetaian;
            this.umcalories = umcalories;
            this.umtype = umtype;
        }
        public enum UmType {MEAT, FISH, OTHER} //肉 鱼 其他
    }
    
        //数据准备
        public static List<UmDish> getUmDish1List() {
            return Arrays.asList(
                    new UmDish("pork", false, 800, UmDish.UmType.MEAT),
                    new UmDish("beef-1", false, 700, UmDish.UmType.MEAT),
                    new UmDish("chicken-1", false, 400, UmDish.UmType.MEAT),
                    new UmDish("french fries", true, 530, UmDish.UmType.OTHER),
                    new UmDish("rice", true, 350, UmDish.UmType.OTHER),
                    new UmDish("season fruit", true, 120, UmDish.UmType.OTHER),
                    new UmDish("pizza", true, 550, UmDish.UmType.OTHER),
                    new UmDish("prawns", false, 300, UmDish.UmType.FISH),
                    new UmDish("salmon", false, 450, UmDish.UmType.FISH)
            );
        }
    
        //数据准备
        public static List<Dish> getDish1List() {
            return Arrays.asList(
                    new Dish("pork", false, 800, Dish.Type.MEAT),
                    new Dish("pork-1", false, 800, Dish.Type.MEAT),
                    new Dish("beef", false, 700, Dish.Type.MEAT),
                    new Dish("chicken", false, 400, Dish.Type.MEAT),
                    new Dish("french fries", true, 530, Dish.Type.OTHER),
                    new Dish("rice", true, 350, Dish.Type.OTHER),
                    new Dish("season fruit", true, 120, Dish.Type.OTHER),
                    new Dish("pizza", true, 550, Dish.Type.OTHER),
                    new Dish("prawns", false, 300, Dish.Type.FISH),
                    new Dish("salmon", false, 450, Dish.Type.FISH)
            );
        }
    

    3:解决方案

    方案1:for循环方法

    略。。。。。。
    缺点:如果好多种list需要比较,则要针对写不同的比较策略,代码长,不易阅读,而且修改不灵活(比如:获取A=B、A!=B、A>B、A<B 是非常麻烦的)

    方案2:封装通用方法

    方法:

        /**
         * 过滤两个list<Bean>数据的策略(bean对象可以不同)
         *
         * @param otherList     被比较的List<bean>
         * @param otherFunction 被比较的Function(目的是为了组装key)
         * @param thisFunction  调用此方法方的Function(目的是为了组装key)
         * @return
         */
        public static <E, M, V> Predicate<E> distinctByOtherList(List<M> otherList, Function<M, V> otherFunction, Function<E, V> thisFunction) {
            Set<V> otherKeySet = otherList.stream().map(otherFunction).collect(Collectors.toSet());
            return e -> Boolean.TRUE.equals(otherKeySet.contains(thisFunction.apply(e)));
        }
    
    

    使用:

     @Test
        public void testDistinct2List() {
            List<Dish> dish1List = DishList.getDish1List();
            List<UmDish> umDish1List = DishList.getUmDish1List();
            // umDishFunction(组装key)
            Function<UmDish, String> umDishFunction = umDish -> umDish.getUmtype() + "-" + umDish.getUmname();
    
            // dishFunction(组装key)
            Function<Dish, String> function = umDish -> umDish.getType() + "-" + umDish.getName();
    
            // A=B
            List<Dish> collect1 = dish1List.stream().filter(distinctByOtherList(umDish1List, umDishFunction, function)).collect(Collectors.toList());
            // A>B
            List<Dish> collect2 = dish1List.stream().filter(distinctByOtherList(umDish1List, umDishFunction, function).negate()).collect(Collectors.toList());
            // B=A
            List<UmDish> collect3 = umDish1List.stream().filter(distinctByOtherList(dish1List, function, umDishFunction)).collect(Collectors.toList());
            // B>A
            List<UmDish> collect4 = umDish1List.stream().filter(distinctByOtherList(dish1List, function, umDishFunction).negate()).collect(Collectors.toList());
            // A=B的key(依据此key也可以对umDish1List、dish1List 过滤)
            Set<String> collect5 = dish1List.stream().filter(distinctByOtherList(umDish1List, umDishFunction, function)).map(function).collect(Collectors.toSet());
    
        }
    
    •  
    展开全文
  • 编写高效Dockerfile的几条准则 利用 Kubeadm部署 Kubernetes 1.13.1 集群实践录 Docker Swarm前世今生 Docker Swarm集群初探 利用K8S技术栈打造个人私有云(连载之:初章) 利用K8S技术栈打造个人私有云(连载之:...
  • 进击的Java集合(一)

    2019-06-21 14:59:46
    1.常用方法汇总 ​//1.初始化List集合 List<String> numbers = new ArrayList&...获取前几条数据 ​​list1 = list2.subList(start, end); //start,end分别是第几个到第几个。 //3.将多个集合进行组合 publ...
  • 通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行向或后向遍历,但是插入数据时只需要记录本项前后项即可,所以插入速度较快。 11、EJB是基于哪些技术实现?并说出...
  • effective-java-3rd-chinese:Effective Java 中文版(第 3 版),Java 四大名著之一,本书一共包含 90 个条目,每个条目讨论 Java 程序设计中规则。这些规则反映了最有经验优秀程序员在实践中常用一些...
  • java自带正则表达式逆向解析时主要是有大量数据,也就是多字段内容时,验证其中一整条字段内容会方便一些。但是现在想一下感觉后台如果自己来写解析方法,比用正则表达式解析会更方便。这个想法正在商讨中。 ...
  • java面试宝典

    2013-02-28 16:04:01
    68、java中有种类型流?JDK为每种类型流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17 69、文件读写基本类 17 70、多线程有种实现方法,都是什么?同步有种实现方法,都是什么? 17 71、启动一个...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    百度云盘分享 ... Java实现FTP连接与数据浏览程序,实现实例化可操作窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...
  • 数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书证书工厂…… Java+ajax写登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
  • java 面试题 总结

    2009-09-16 08:45:34
    通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行向或后向遍历,但是插入数据时只需要记录本项前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现?并说出Session...
  • 14.10.4滚动条的事件处理539 14.10.5完整程序539 14.11GUI程序设计实例2——小闹钟542 14.11.1程序界面实现543 14.11.2时间刷新代码544 14.11.3JRadioButton事件响应代码545 14.11.4“确定”按钮...
  • 72、java中有种类型流?JDK为每种类型流提供了一些抽象类以供继承,请说出他们分别是哪些类? 49 73、字节流与字符流区别 50 74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口作用...
  • 刚启动系统运行正常,过天就会出现这个异常,以下是关于redise配置: # redis.properties文件中内容如下: redis.hostName=127.0.0.1 redis.password= #端口号 redis.port=6379 #客户端超时时间单位是...
  • Java开发实战1200例.第2卷.part3

    热门讨论 2013-05-08 22:46:34
    实例097 查询SQL Server数据表中的前3条数据 174 实例098 查询SQL Server数据表中的后3条数据 175 实例099 查询MySQL数据表中的前3条数据 176 实例100 查询MySQL数据表中的后3条数据 177 4.2 排序与分组函数的应用 ...
  • Java开发实战1200例.第2卷.part2

    热门讨论 2013-05-08 22:45:35
    实例097 查询SQL Server数据表中的前3条数据 174 实例098 查询SQL Server数据表中的后3条数据 175 实例099 查询MySQL数据表中的前3条数据 176 实例100 查询MySQL数据表中的后3条数据 177 4.2 排序与分组函数的应用 ...
  • Java开发实战1200例.第2卷.part1

    热门讨论 2013-05-08 22:44:13
    实例097 查询SQL Server数据表中的前3条数据 174 实例098 查询SQL Server数据表中的后3条数据 175 实例099 查询MySQL数据表中的前3条数据 176 实例100 查询MySQL数据表中的后3条数据 177 4.2 排序与分组函数的应用 ...
  • 本书以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和...
  • 本书以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和...
  • 本书以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和...
  • 本书以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和...
  • 本书以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和...
  • 本书是第II卷,以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
  • 本书是第II卷,以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
  • 本书是第II卷,以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
  • 本书是第II卷,以开发人员在项目开发中经常遇到问题和必须掌握技术为中心,介绍了应用Java进行桌面程序开发各个方面知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

java获取list的前几条数据

java 订阅