问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java:如何封装集合

发布网友 发布时间:2022-04-25 22:24

我来回答

2个回答

热心网友 时间:2022-06-18 03:40

对于一般的成员变量,对其提供简单的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<Athlete> players = new HashSet<Athlete>();// 1

public void addPlayer(Athlete one) {// 2
players.add(one);
}

public void removePlayer(Athlete one) {// 2
players.remove(one);
}

public void addPlayers(Set<Athlete> set) {// 3
Iterator<Athlete> iter = set.iterator();
while (iter.hasNext())
addPlayer(iter.next());
}

public void initializaPlayers(Set<Athlete> set) {// 3
if (getAttendNumbers() > 0)
players.clear();
players.addAll(set);
}

public Set<Athlete> getAllPlayers() {// 4
return Collections.unmodifiableSet(players);
}

public int getAttendNumbers() {// 5
return players.size();
}

热心网友 时间:2022-06-18 03:41

用修饰词限定访问权限
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我小弟要当兵,这几天在等家访,我想问一下需要拿钱之类的吗?_百度知 ... 怎样治好气管炎 怎么治好气管炎 气管炎能彻底治好吗 分手后再遇见前男友是什么感受? 分手后与前任再相遇 指弹怎么练 用吉他练指弹有什么快速入门的办法 皖西学院新生住哪里 皖西学院的宿舍条件好吗? 争议:未来电竞比赛是否能在国家电视台直播? Java中什么叫封装啊? 星际争霸2直播上哪看? java怎么把数据封装list 为什么游戏主播的工资这么高? java中封装是什么? java如何封装静态类到一个方法里? 自己想配一台电脑,自己拟定了一个配置单,希望大家能优化下!顺带解答一下推流用电脑有什么要求? JAVA类的封装是什么意思? 星际争霸2的职业选手除了在teamliquid直播之外,还在哪里直播吗? 视频赚钱靠谱么 JAVA中什么是封装?能不能用点通俗的语言详细解释一下?或者来段小代码段... 以现在直播平台这么多,我咋没看到有哪个国外平台直播 如何对java源代码进行封装? 请问OBS如何添加Twitchtv 观看Twitchtv很慢,国内怎么流畅观看Twitch直播、视频? java中的封装学习难不难? java程序怎么去封装? JAVA封装字段快捷键或快速封装是哪个? Java的封装有哪些? 皇室战争电磁炮卡组 擦玻璃家政的费用一般是多少?请大家给我点参考价格 在java中什么是封装,举一个例子说明一下 英雄联盟在国外什么情况 3室1厅保洁擦玻璃大概要多少钱 java 封装 zombie barricades是谁 擦玻璃多少钱一平方 在哪能看到DYRUS的直播.或者是最近的排位视频. 想找保洁公司擦窗户,多少钱? java中封装的好处 上海市二房二厅二卫(擦玻璃窗)保洁需多少钱 哪里能看星际争霸2世界比赛直播?或者比赛视频 射手属于火象星座 明天LOL全明星赛,什么手机软件能看直播。 家政保洁擦一个窗户平均多少钱? 战争雷霆 TwitchTV错误是怎么回事? 射手是什么象星座? 单位办公楼擦玻璃报价 twitch手机版怎么设置中文