加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Java中重构这个HashSet

发布时间:2020-12-15 04:26:45 所属栏目:Java 来源:网络整理
导读:我是 Java新手.我有一个HashSet方法,想知道一个更好的编码以下代码的方法: public HashSetGuitar getGuitars() { HashSetGuitar guitarInformations = new HashSetGuitar(); Guitar guitar1 = new Guitar("Gibson",100,"1987"); Guitar guitar2 = new Guita
我是 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","1922");
    Guitar guitar7 = new Guitar("Fender","1999");
    Guitar guitar8 = new Guitar("Fender","1986");
    Guitar guitar9 = new Guitar("Fender","1933");
    Guitar guitar10 = new Guitar("Fender","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","1987"),new Guitar("Gibson","1976"),"1978"),"1967"),"1967")));

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读