【问题标题】:In Java, how to split an array or list by some property or value?在 Java 中,如何通过某些属性或值拆分数组或列表?
【发布时间】:2014-07-25 18:45:12
【问题描述】:

如果有一个包含 Foo 对象的数组或列表,并且我想根据属性 Foo.bar 拆分集合,那么除了使用映射和遍历集合之外,在 Java 中是否有一种快速的方法?

例如,假设列表如下所示:

  1. Foo.bar = 1
  2. Foo.bar = 1
  3. Foo.bar = 2
  4. Foo.bar = 3
  5. Foo.bar = 3
  6. Foo.bar = 4

该列表将被分成 4 个不同的列表,因为 bar 有 4 个不同的值。

【问题讨论】:

标签: java arrays list collections


【解决方案1】:

是的,有 Treeset,您可以在其中添加不同的值。但你也有覆盖 equals 方法。

public boolean equals(Object anObject){
   Foo f = (Foo) anObject;
   return f.bar==this.bar
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 2017-05-24
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2022-03-17
    • 1970-01-01
    相关资源
    最近更新 更多