import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.TreeMap;
public class Test2{
public static void main(String[] args){
/* 此处用ArrayList实现
*
* ArrayList<Student>al=new ArrayList<Student>();
for(int i=20070301,j=10;i<=20070330;i++,j++)
{
al.add(new Student(i,(int) (40*Math.random()+60), "同学"+j));
}
//ArrayList排序借助Collections中的sort()方法实现。
Collections.sort(al, new Sortbygrade());
for(Student sd:al)
System.out.println(sd);
*/
LinkedList<Student> lt=new LinkedList<Student>();
for(int i=20070301,j=10;i<=20070330;i++,j++)
{
lt.add(new Student(i,(int) (40*Math.random()+60), "同学"+j));
}
//对链表排序
Collections.sort(lt, new Sortbygrade());
//输出链表
for(Student sd:lt)
System.out.println(sd);
}
}
//学生类
class Student{
int num,grade;
String name;
//构造函数
public Student(int num,int grade,String name){
this.num=num;
this.name=name;
this.grade=grade;
}
//此处必须覆写
public String toString(){
// System.out.println("hi");
return "学号:"+this.num+"\t"+"姓名:"+this.name+" "+"成绩:"+this.grade;
}
}
//创建一个比较器类
class Sortbygrade implements Comparator<Student>{
@Override
public int compare(Student s1, Student s2) {
if(s1.grade>s2.grade)
return 1;
if(s1.grade<s2.grade)
return -1;
if(s1.grade==s2.grade)
return s1.name.compareTo(s2.name);
return 0;
}
}
for(int i=0;i<lt.size();i++)
{
Student s=lt.get(i);
System.out.println("学号:"+s.num+" 姓名:"+s.name+" 成绩:"+s.grade);
}
package com.package1;
import java.util.*;
public class StuScore {
public static void main(String[] args) {
TreeSet<Student> ts=new TreeSet<Student>(new Com());
//添加元素进去
for(int i=20070301,j=1;i<=20070330;i++,j++)
{
ts.add(new Student(i,"同学"+j,(int) (40*Math.random()+60)));
}
//迭代循环取出
Iterator<Student> it=ts.iterator();
while(it.hasNext())
{
Student o1=it.next();
System.out.println("学号:"+o1.num+" "+"姓名:"+o1.name+" "+" "+"成绩:"+o1.grade);
}
}
}
//学生类
class Student
{
int num;
int grade;
String name;
public Student(int num, String name,int grade)
{
this.num=num;
this.name=name;
this.grade=grade;
}
}
class Com implements Comparator
{
@Override
public int compare(Object o1, Object o2) {
Student s1=(Student) o1;
Student s2=(Student) o2;
if(s1.grade>s2.grade)
return 1;
if(s1.grade<s2.grade)
return -1;
if(s1.grade==s2.grade)
{
return new Integer(s1.num).compareTo(new Integer(s2.num));
}
return 0;
}
}
package com.package1;
import java.util.*;
public class StuScore {
public static void main(String[] args) {
HashSet<Student> hs=new HashSet<Student>();
//添加元素进去
for(int i=20070301,j=1;i<=20070330;i++,j++)
{
hs.add(new Student(i,"同学"+j,(int)
(40*Math.random()+60)));
}
ArrayList<Student>li=new ArrayList(hs);
Collections.sort(li, new Sortbygrade());
for(Student ss:li)
System.out.println(ss);
}
}
//学生类
class Student
{
int num;
int grade;
String name;
public Student(int num, String name, int grade)
{
this.num=num;
this.name=name;
this.grade=grade;
}
public String toString(){
//System.out.println("hi");
return "学号:"+this.num+"\t"+"姓名:"+this.name
+" "+"成绩:"+this.grade;
}
}
class Sortbygrade implements Comparator{
@Override
public int compare(Object o1, Object o2) {
Student s1=(Student) o1;
Student s2=(Student) o2;
if(s1.grade>s2.grade)
return 1;
if(s1.grade<s2.grade)
return -1;
// if(s1.grade==s2.grade)
return 0;
}
}
package com.package1;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class TestTreeMap {
public static void main(String[] args) {
//1.创建集合
TreeMap<Student,Integer> tm=new TreeMap<Student,Integer>();
for(int i=20070301,j=10;i<=20070330;i++,j++)
{
int grade=(int) (40*Math.random()+60);
//2、往集合对象中添加元素
tm.put(new Student(grade,"同学"+j),i);
}
//3.遍历集合 ,排序完成
Set<Student> k=tm.keySet();
Iterator<Student> it=k.iterator();
while(it.hasNext()){
Student key=it.next();
Integer num=tm.get(key);
System.out.println("学号:"+num+" "+"姓名:"+key.name+" "+"成绩:"+key.grade);
}
}
}
class Student implements Comparable<Student>{
int grade;
String name;
public Student(int grade,String name){
this.grade =grade;
this.name=name;
}
@Override
public int compareTo(Student o) {
if(this.grade>o.grade)
return 1;
if(this.grade==o.grade)
{ //当成绩相同时,按照姓名排序
return this.name.compareTo(o.name);
}
return -1;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有