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

请java人员帮个忙!关于集合框架的一个程序!

发布网友 发布时间:2022-05-02 04:51

我来回答

2个回答

热心网友 时间:2022-06-28 09:39

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class MedalRank {

public static void main(String[] args) {

Country c1 = new Country("China",100,80,100);
Country c2 = new Country("American",10,100,10);
Country c3 = new Country("Japan",50,50,50);
List<Country> list = new ArrayList<Country>();
list.add(c1);
list.add(c2);
list.add(c3);
//金牌榜
Collections.sort(list, new GoldComparator());
System.out.println("\r\nGold medal Rank as follow:");
for(Country c : list) {
System.out.println(c.name);
}
//银牌榜
Collections.sort(list, new SilverComparator());
System.out.println("\r\nSilver medal Rank as follow:");
for(Country c : list) {
System.out.println(c.name);
}
//铜牌榜
Collections.sort(list, new CopperComparator());
System.out.println("\r\nCopper medal Rank as follow:");
for(Country c : list) {
System.out.println(c.name);
}

}
}
class GoldComparator implements Comparator<Country> {

@Override
public int compare(Country c1, Country c2) {
return c2.gold - c1.gold;
}

}
class SilverComparator implements Comparator<Country> {

@Override
public int compare(Country c1, Country c2) {
return c2.silver - c1.silver;
}

}
class CopperComparator implements Comparator<Country> {

@Override
public int compare(Country c1, Country c2) {
return c2.copper - c1.copper;
}

}追问能加一下注释嘛?我刚学这个,还有点看不太懂!谢谢了!

追答我们把已经new好的Country对象set进一个List里面,接着就要对这个List进行操作,让它sort。
注意到jdk里面的Collections工具类里面有此方法:Collections.sort(list, new GoldComparator());
此方法可以操作这个List,但是需要我们对这个List里面包含的元素,具体表现为Country对象,进行自定义的比较,是为了让sort方法知道具体如何比较排序Country对象。

接着定义了三个Comparator,分别为金银铜的,也就是具体如何比较的GoldComparator ,SilverComparator ,CopperComparator ,这三个类都需要实现Comparator接口,重写其public int compare方法,该方法返回一个int,小于0代表第一个Country对象小于第二个Country对象,大于0代表第一个Country对象大于第二个Country对象,等于就是相等
具体可以参考阅读JDK帮助文档,里面的介绍相当详细

热心网友 时间:2022-06-28 09:39

功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。
Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本:
Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。
比如:数据库连接、接口定义、输入/输出、网络编程
Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。
比如:EJB、servlet、JSP、XML、事务控制
Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。
比如:呼机、智能卡、手机、PDA、机顶盒

他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类

应用场合,API的覆盖范围各不相同。
笼统的讲,可以这样理解:
J2SE是基础;
压缩一点,再增加一些CLDC等方面的特性就是J2ME;
扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。

补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
前几天在楼下吃饭,店家推荐使用淘气购支付,听说可以用豆豆换东西。会... 绵阳淘气购科技有限公司怎么样? 四川省淘气购商贸有限公司怎么样? 盐酸洛美沙星分散片的作用 盐酸洛美沙星颗粒的剂量如何根据不同感染情况调整? 盐酸洛美沙星颗粒的化学名是什么? 盐酸洛美沙星胶囊功效 洛美沙星盐酸洛美沙星 洛美沙星的功效与作用 盐酸洛美沙星颗粒能治疗哪些类型的感染? 如何去理解java中集合的源码 对于集合类的操作的java代码实现的方法 一年级作文小年夜的感受 正常的白带是什么样子 正常白带是长什么样的 樱桃青轴键盘键帽构造是什么样的 怎样能在最短时间内让附近人看到新? 如何代理注册香港公司 请问,公司历来的办公文档、技术资料、合同证件等,采用如何方式分类及编号? 如何设置HR用户的数据操作权限授权? 高手速进 开发背景 计算机网络通讯管理办法~计算机信息系统重大审批授权制度 在财务信息系统中为什么要设置用户权限? 计算机信息系统集成企业资质申请表 模板让我参考一下怎么填的 学生信息管理系统怎么设置管理员和普通用户的权限 这几款合资家轿可惜了,有实力,也不缺性价比,却少有人赏识 为什么说10万左右的合资车不能买 十大不能买的合资车? 为什么都建议买合资车? 合资车十大不值得购买的有那些 股东分红期限 请问今年的主管护师考试难吗? 溜肉段是咸鲜口,酸甜口? 与现在的门面承租人签订{全权经营管理委托协议}会与房东与承租者签订的“未经房东允许不得转租他人”冲突 富康生命人寿康健无忧重大疾病尊享版 适合儿童吗? 甲公司的经营和管理交于乙方公司合同怎样签订 高悬赏 法律问题,单位和单位是代理关系,员工签署的劳动合同属于那里? 2000元左右,能买多少克的黄金首饰? 2000人民币能买多少黄金? 股权及所有经营权全权委托他人委托书怎么写法 李想大虾总部在那,怎么加盟 2000左右可以买一个黄金戒指吗?几克?男的 *把景区的经营权委托给我们公司,领导要我写一份委托经营权的合同,怎么写啊??请高手帮忙 两千块可以买怎样的戒指,黄金什么的可以么,大概可以买几克的? 在银行买黄金最少要买多少克 毛笔的锋是什么 一个黄金戒指或项链 耳钉这三个任意一样东西两千块钱能买下不? 毛笔的出锋、直径、杆长指什么?都有哪些规格? 2000元能买多少克的黄金手链 p2p网贷返利平台泛滥,投资人该怎么选?