Java封装集合的方法

对于一般的成员变量,对其提供简单的getter/setter封装即可。而对于一个集合类,不能够这样做。

对于一个简单的成员变量,可以这样:

class Athlete {  private String name;  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  // ......}

而如果是一个Set/List/Map或数组,应该:

[1]初始化这个集合类;

[2]提供对单个元素的add/remove;

[3]提供加入另一个集合的方法。如果是基于此初始化,则先保证当前集合无元素;

[4]对于getter方法,应该返回该集合的只读试图;

[5]提供当前集合size。

public class Game {  private Set players = new HashSet();// 1  public void addPlayer(Athlete one) {// 2    players.add(one);  }  public void removePlayer(Athlete one) {// 2    players.remove(one);  }  public void addPlayers(Set set) {// 3    Iterator iter = set.iterator();    while (iter.hasNext())      addPlayer(iter.next());  }  public void initializaPlayers(Set set) {// 3    if (getAttendNumbers() > 0)      players.clear();    players.addAll(set);  }  public Set getAllPlayers() {// 4    return Collections.unmodifiableSet(players);  }  public int getAttendNumbers() {// 5    return players.size();  }}

多对自己说“我能行,我一定可以”,

Java封装集合的方法

相关文章:

你感兴趣的文章:

标签云: