m0_disjjebwoo 2021-12-16 14:40 采纳率: 100%
浏览 48
已结题

Java map集合的问题

将以下计算机(Computen)类对象按照要求装入Map集合,具体要求如下:
计算机编号计算机品名销售价格
coo1
惠普笔记本 4200
coo2
联想台式机 3800
Coo3
戴尔笔记本 3650
1)以计算机编号为Key,计算机对象为valke,将以上计算机对象信息存入TeeMap中。
(2)创建Comparator比较器,使得存入TreeMap集合中的计算机对象按照计算机编号的降序进行排序。
(3)将价格四千元以上的计算机,价格打九五折进行销售(修改对应计算机价格)。
(4)迭代输出各Map集合中各对象的key和value值。

  • 写回答

2条回答 默认 最新

  • 大鹏cool Java领域优质创作者 2021-12-16 15:13
    关注

    示例代码如下:

    public class Computen {
    
        private String no;
    
        private String name;
    
        private Double price;
    
        public Computen(String no, String name, Double price) {
            this.no = no;
            this.name = name;
            this.price = price;
        }
    
        public String getNo() {
            return no;
        }
    
        public void setNo(String no) {
            this.no = no;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Double getPrice() {
            return price;
        }
    
        public void setPrice(Double price) {
            this.price = price;
        }
    
        @Override
        public String toString() {
            return "Computen{" +
                    "no='" + no + '\'' +
                    ", name='" + name + '\'' +
                    ", price=" + price +
                    '}';
        }
    }
    
    public class Test {
    
        public static void main(String[] args) throws SQLException, IOException {
            Computen computen = new Computen("coo1", "惠普笔记本", 4200d);
            Computen computen2 = new Computen("coo2", "联想台式机", 3800d);
            Computen computen3 = new Computen("Coo3", "戴尔笔记本", 3650d);
            TreeMap<String, Computen> treeMap = new TreeMap<>(Comparator.reverseOrder());
            treeMap.put(computen.getName(), computen);
            treeMap.put(computen2.getName(), computen2);
            treeMap.put(computen3.getName(), computen3);
            treeMap.values().stream().filter(item -> item.getPrice() > 4000).forEach(item -> item.setPrice(item.getPrice() * 0.95));
            for (Map.Entry<String, Computen> entry : treeMap.entrySet()) {
                System.out.printf("key:%s, value:%s\n", entry.getKey(), entry.getValue());
            }
        }
    }
    

    如有帮助,请采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 提问应符合社区要求 12月16日
  • 创建了问题 12月16日

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示