微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Java中重构这个HashSet

我是 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;
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐