求助List

人在風雨中 2021-01-13 12:55:38
...全文
935 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫练 2021-01-14
  • 打赏
  • 举报
回复
10分钟的事情,还行吧,帮助是美德,关注是缘分。一切随缘
廾匸随笔 2021-01-14
  • 打赏
  • 举报
回复
引用 1 楼 叫练 的回复:
import java.util.*;
import java.util.stream.Collectors;

/**
 * @author :jiaolian
 * @date :Created in 2021-01-13 14:04
 * @description:订单分组测试
 * @modified By:
 * 公众号:叫练
 */
public class OrderByGroupTest {
    public static void main(String[] args) {

        //创建订单;
        List<Order> list = new ArrayList();
        list.add(new Order("176",1700));
        list.add(new Order("885",4400));
        list.add(new Order("885",5100));
        list.add(new Order("664",5000));
        list.add(new Order("664",2500));
        list.add(new Order("481",3000));

        //将list按oid分组
        Map<String,List<Order>> listMap = list.stream().collect(Collectors.groupingBy(Order::getOid));

        //输出测试;
        Set<Map.Entry<String,List<Order>>> set =  listMap.entrySet();
        Iterator<Map.Entry<String,List<Order>>> iterator = set.iterator();
        while (iterator.hasNext()) {
            Map.Entry entry = iterator.next();
            System.out.println("key:"+entry.getKey()+" val:"+entry.getValue());
        }


    }

    //TODO 简化订单对象
    private static class Order {
        //订单id
        private String oid;
        //价格
        private double price;

        public Order(String oid, double price) {
            this.oid = oid;
            this.price = price;
        }

        public String getOid() {
            return oid;
        }

        public void setOid(String oid) {
            this.oid = oid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        @Override
        public String toString() {
            return "Order{" +
                    "oid='" + oid + '\'' +
                    ", price=" + price +
                    '}';
        }
    }
}
简化了订单表Order,代码用到JDK1.8新特性List流化,一行代码就可以搞定将list分组,1.8以前需要通过订单id分组成list,然后把list再放入Map。下面是测试结果,如果对你有用,请给个关注哦!
你这拉关注的成本也太高了吧兄弟
啥都无所谓 2021-01-13
  • 打赏
  • 举报
回复
group by 你的 id ,把所有id查出来,再循环遍历去取出来。取出来的不就是一样的了吗?
叫练 2021-01-13
  • 打赏
  • 举报
回复
import java.util.*;
import java.util.stream.Collectors;

/**
 * @author :jiaolian
 * @date :Created in 2021-01-13 14:04
 * @description:订单分组测试
 * @modified By:
 * 公众号:叫练
 */
public class OrderByGroupTest {
    public static void main(String[] args) {

        //创建订单;
        List<Order> list = new ArrayList();
        list.add(new Order("176",1700));
        list.add(new Order("885",4400));
        list.add(new Order("885",5100));
        list.add(new Order("664",5000));
        list.add(new Order("664",2500));
        list.add(new Order("481",3000));

        //将list按oid分组
        Map<String,List<Order>> listMap = list.stream().collect(Collectors.groupingBy(Order::getOid));

        //输出测试;
        Set<Map.Entry<String,List<Order>>> set =  listMap.entrySet();
        Iterator<Map.Entry<String,List<Order>>> iterator = set.iterator();
        while (iterator.hasNext()) {
            Map.Entry entry = iterator.next();
            System.out.println("key:"+entry.getKey()+" val:"+entry.getValue());
        }


    }

    //TODO 简化订单对象
    private static class Order {
        //订单id
        private String oid;
        //价格
        private double price;

        public Order(String oid, double price) {
            this.oid = oid;
            this.price = price;
        }

        public String getOid() {
            return oid;
        }

        public void setOid(String oid) {
            this.oid = oid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        @Override
        public String toString() {
            return "Order{" +
                    "oid='" + oid + '\'' +
                    ", price=" + price +
                    '}';
        }
    }
}
简化了订单表Order,代码用到JDK1.8新特性List流化,一行代码就可以搞定将list分组,1.8以前需要通过订单id分组成list,然后把list再放入Map。下面是测试结果,如果对你有用,请给个关注哦!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧