package demo;
public class Student implements Comparable//该接口用于排序
{
private int sno;
private String name;
private double score;
public Student(int sno, String name, double score)
{
this.sno = sno;
this.name = name;
this.score = score;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public double getScore()
{
return score;
}
public void setScore(double score)
{
this.score = score;
}
public int getSno()
{
return sno;
}
public void setSno(int sno)
{
this.sno = sno;
}
//用于排序
public int compareTo(Object obj)
{
Student stu = (Student)obj;
if(this.score < stu.getScore())
{
return 1;
}
else if(this.score > stu.getScore())
{
return -1;
}
else
{
return 0;
}
}
}
package demo;
import java.util.*;
public class ClassT08
{
private ArrayList list;
public ClassT08()
{
list = new ArrayList();
}
public void addStudent(Student student)
{
list.add(student);
}
public void showAllStudents()
{
Collections.sort(list);//先排序后显示
Iterator it = list.iterator();
while(it.hasNext())
{
Student student = (Student)it.next();
System.out.println("ID: "+student.getSno());
System.out.println("Name: "+student.getName());
System.out.println("Score: "+student.getScore());
}
}
public Student findStudent(int sno)
{
Iterator it = list.iterator();
while(it.hasNext())
{
Student student = (Student)it.next();
if(student.getSno() == sno)
{
return student;
}
}
return null;
}
}
package demo;
import javax.swing.*;
public class Test
{
public static void main(String[] args)
{
ClassT08 t08 = new ClassT08();
t08.addStudent(new Student(1,"Jacky",90));
t08.addStudent(new Student(2,"Lucy",95));
t08.addStudent(new Student(3,"Tom",80));
t08.showAllStudents();
int id = Integer.parseInt(JOptionPane.showInputDialog("请输入要查询的学员学号: "));
Student stu = t08.findStudent(id);
if(stu == null)
{
JOptionPane.showMessageDialog(null, "未找到!");
}
else
{
JOptionPane.showMessageDialog(null, stu.getSno() + " " + stu.getName() + " " + stu.getScore());
}
}
}
分享到:
相关推荐
总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...
在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...
### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...
Java集合框架还包含了一些工具类,如`Collections`(提供对集合的静态方法)、`Iterator`(遍历集合元素)、`Comparator`(用于比较对象)等。这些工具极大地提高了代码的可读性和效率。 在实际应用中,选择合适的...
本文将深入探讨Java集合框架的基础知识,包括接口、类、以及它们在实际开发中的应用。 首先,Java集合框架由一系列接口和实现这些接口的类组成。主要的接口有`List`、`Set`和`Queue`,它们各自代表了不同特性的数据...
Java集合框架还包含了一些工具类,如`Collections`(提供了对集合的各种操作,如排序、填充和反转)、`Comparator`(用于自定义元素比较逻辑)和`Iterator`(遍历集合元素的接口)。 至于集合排序,Java提供了两种...
"Java集合某个字段按照中文拼音排序" Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用...
### Java集合排序及java集合类详解 #### 集合框架概述 集合是Java编程语言中非常核心且广泛使用的部分,对于深入理解和高效使用Java语言至关重要。本文将围绕Java集合框架进行详细介绍,包括Collection、List、Set...
根据给定文件的信息,本文将详细介绍Java中的五种主要排序算法:插入排序、交换排序、选择排序、归并排序以及基数排序。每种排序方法都包括了不同的变体和技术细节。 ### 一、插入排序 #### 1. 直接插入排序 直接...
Java集合框架主要包括`List`, `Set`, 和 `Map`三大接口。其中,`List`接口要求元素有序,允许重复;`Set`接口要求元素唯一,无序;`Map`接口则存储键值对,键是唯一的。对于排序,我们主要关注`List`中的`Sort`方法...
在`Java集合排序及java集合类详解.PDF`文档中,你可以找到关于集合排序和不同集合类的详细讲解。例如,如何使用Collections.sort()方法对List进行排序,以及如何自定义比较器Comparator实现复杂排序逻辑。对于Map,...
"深入Java集合学习系列:LinkedHashSet的实现原理 - 莫等闲 - ITeye技术网站.mht"将介绍如何在HashSet的基础上添加链表结构以保持元素顺序。 通过这个系列的学习,开发者可以更好地理解Java集合框架的底层机制,...
### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...