Java:如何封装集合
2008-04-12 21:57
309 查看
对于一般的成员变量,对其提供简单的getter/setter封装即可。而对于一个集合类,不能够这样做。
对于一个简单的成员变量,可以这样:
而如果是一个Set/List/Map或数组,应该:
[1]初始化这个集合类;
[2]提供对单个元素的add/remove;
[3]提供加入另一个集合的方法。如果是基于此初始化,则先保证当前集合无元素;
[4]对于getter方法,应该返回该集合的只读试图;
[5]提供当前集合size。
对于一个简单的成员变量,可以这样:
[align=left]class Athlete {[/align] [align=left] private String name;[/align] [align=left] [/align] [align=left] public String getName() {[/align] [align=left] return name;[/align] [align=left] }[/align] [align=left] [/align] [align=left] public void setName(String name) {[/align] [align=left] this.name = name;[/align] [align=left] }[/align] // ...... } |
[1]初始化这个集合类;
[2]提供对单个元素的add/remove;
[3]提供加入另一个集合的方法。如果是基于此初始化,则先保证当前集合无元素;
[4]对于getter方法,应该返回该集合的只读试图;
[5]提供当前集合size。
[align=left]public class Game {[/align] private Set<Athlete> players = new HashSet<Athlete>();// 1 [align=left] [/align] [align=left] public void addPlayer(Athlete one) {// 2[/align] [align=left] players.add(one);[/align] [align=left] }[/align] [align=left] [/align] [align=left] public void removePlayer(Athlete one) {// 2[/align] [align=left] players.remove(one);[/align] [align=left] }[/align] [align=left] [/align] public void addPlayers(Set<Athlete> set) {// 3 Iterator<Athlete> iter = set.iterator(); [align=left] while (iter.hasNext())[/align] [align=left] addPlayer(iter.next());[/align] [align=left] }[/align] [align=left] [/align] public void initializaPlayers(Set<Athlete> set) {// 3 [align=left] if (getAttendNumbers() > 0)[/align] [align=left] players.clear();[/align] [align=left] players.addAll(set);[/align] [align=left] }[/align] [align=left] [/align] public Set<Athlete> getAllPlayers() {// 4 [align=left] return Collections.unmodifiableSet(players);[/align] [align=left] }[/align] [align=left] [/align] [align=left] public int getAttendNumbers() {// 5[/align] [align=left] return players.size();[/align] [align=left] }[/align] } |
相关文章推荐
- Java:如何封装集合
- java如何将集合中连续的数值间隔开
- java种如何遍历一个List集合
- 如何删除JAVA集合中的元素
- Java中如何克隆集合——ArrayList和HashSet深拷贝
- java中list集合的内容,如何使用像数据库中group by形式那样排序
- 【Java集合的详细研究4】Java中如何遍历Map对象的4种方法
- 用Java集合中的Collections.sort方法如何对list排序(两种方法)
- JAVA中如何取出两个不同List对象(对象一致)中所有不同的对象的集合
- 利用java反射将结果集封装成为对象和对象集合
- java中set集合如何去除重复元素
- Java中如何封装自己的类,建立并使用自己的类库?
- java如何对List集合中的元素进行排序(请收藏)
- Java中如何封装自己的类,建立并使用自己的类库?
- 品味Java如何封装Window GUI API
- 如何删除JAVA集合中的元素
- java 中如何声明线程安全的集合 set, map 和list【转】
- 如何删除JAVA集合中的元素
- java如何对map进行排序详解(map集合的使用)
- 利用java反射将结果集封装成为对象和对象集合