gpt4 book ai didi

java - 查找对象的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:25 26 4
gpt4 key购买 nike

假设您有一个太阳镜对象列表,其中有...

  1. 4 个属性,颜色、形状、样式和品牌。
  2. 没有相同的; 4个属性的组合总是不同的

检索它们的最快方法是什么?

我认为:

  1. 覆盖 Sunglasses 类中的 hashcode() 方法(应该是唯一的,因为它们都不相同)。
  2. 然后将每个对象的hashcode作为key,对象本身作为value,放入一个Hashmap中

假设我确切地记得我想要的玻璃杯的颜色、形状、样式和品牌得到,

  1. 我用我已经实现的哈希码方法来应用它们。
  2. 然后从 hashmap 中获取它,这应该给我 contants 时间 O(1) 检索。

问题是如果我只知道颜色怎么办。我如何获得所有具有相同颜色的眼镜的列表?

最佳答案

构建一个 HashMap<Color,Collection<Glasses>>除了您的其他数据结构。

这张 map 本质上是作为 Color 上的一个索引属性。

每当您从其他数据结构中添加或删除眼镜时,请务必同时更新此颜色索引。

关于java - 查找对象的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com