gpt4 book ai didi

java - 如何在 Java 中重构这个 HashSet

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:24:55 26 4
gpt4 key购买 nike

我是 Java 新手。我有一个 HashSet 方法,想知道一种更好的编码方式:

public HashSet<Guitar> getGuitars() {

HashSet<Guitar> guitarInformations = new HashSet<Guitar>();
Guitar guitar1 = new Guitar("Gibson", 100, "1987");
Guitar guitar2 = new Guitar("Gibson", 200, "1976");
Guitar guitar3 = new Guitar("Gibson", 300, "1978");
Guitar guitar4 = new Guitar("Gibson", 400, "1967");
Guitar guitar5 = new Guitar("Gibson", 500, "1967");
Guitar guitar6 = new Guitar("Fender", 100, "1922");
Guitar guitar7 = new Guitar("Fender", 200, "1999");
Guitar guitar8 = new Guitar("Fender", 300, "1986");
Guitar guitar9 = new Guitar("Fender", 400, "1933");
Guitar guitar10 = new Guitar("Fender",500, "1988");
guitarInformations.add(guitar1);
guitarInformations.add(guitar2);
guitarInformations.add(guitar3);
guitarInformations.add(guitar4);
guitarInformations.add(guitar5);
guitarInformations.add(guitar6);
guitarInformations.add(guitar7);
guitarInformations.add(guitar8);
guitarInformations.add(guitar9);
guitarInformations.add(guitar10);

return guitarInformations;
}

做这样的事情最有效的方法是什么?

最佳答案

我会使用:

return new HashSet(Arrays.asList(
new Guitar("Gibson", 100, "1987"),
new Guitar("Gibson", 200, "1976"),
new Guitar("Gibson", 300, "1978"),
new Guitar("Gibson", 400, "1967"),
new Guitar("Gibson", 500, "1967")));

当然,如果你永远不会修改你的集合,那么如果你将它作为常量会更有效率:

 private static final Set<Guitar> GUITARS = 
Collections.unmodifiableSet(new HashSet(Arrays.asList(
...

public Set<Guitar> getGuitars() {
return GUITARS;
}

关于java - 如何在 Java 中重构这个 HashSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29598023/

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