数据排序处理|学习笔记

简介: 快速学习数据排序处理

开发者学堂课程【Java 高级编程数据排序处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/352


数据排序处理


从键盘输入以下的数据:“TOM:89|JERRY:90|TONY:95”,数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将排序结果按照成绩由高到低排序。

 

对于排序的处理肯定使用 Comparable 接口完成,同时利用 Arrays 类来处理,这里面唯一不同的地方就在于此时的数据显示需要通过键盘输入。

 

1、建立 Student 的程序类,并且进行排序规则的配置。

操作过程:图片16.png

图片17.png

package cn.mldn.demo.vo;

public class Student implements Comparable<Student>{

private String name;

private double score;

public Student(String name,double score){

this.name=name;

this.scorescore;

public String toString(){

return"姓名:"+this.name+"、成绩:"+this.score;

@Override public int compareTo(student obj){

if (this.score 〉 obj.score){

return -1 ;

} else if (this.score < obj.score) {

return 1 ;

} else {

return θ;


2、建立数据的输入处理操作,因为牵扯到拆分问题;

操作过程:

图片18.png图片19.png

package cn.mldn.demo.service;

import cn.mldn.demo.vo.Student;

public interface IStudentservice {

public Student[] getData(); //获取排序数据


3、建立 IStudentService子类

操作过程:

 图片20.png图片21.png

package cn.mldn.demo.service.impl;

import cn.mldn.demo.service.IStudentService;

import cn.mldn.demo.vo.Student;

public class StudentserviceImpl implements IStudentservice {

private String content ;

private Student [] students ;

public StudentServiceImpl(String content){

this.content = content ;

this.handle();//进行数据处理

private void handle(){//进行字符串数据的处理操作

String result []= this.content.split("\\!");// 拆分数据

this.students = new Student[result.length];

for (int x = θ ;×< this.students.length;x ++){

string temp[]= result[x].split(":");

this.students[x]= new Student(temp[θ],Double.parseDouble(temp[1]));

@Override public Student[] getData(){

Arrays.Sort(this.students);

return null;


4、定义Factory工厂类

package cn.mldn.demo.factory;

import cn.mldn.demo.service.IStudentService;

import cn.mldn.demo.service.impl.StudentServiceImpl;

import cn.mldn.demo.util.Inpututil;

public class Factory {

private Factory(){}

public static Istudentservice getInstance(){

return new StudentServiceImpl(Inpututil.getstring("请输入数据信息:"));


5.编写测试类

package cn.mldn.demo;

import cn.mldn.demo.factory.Factory;

public class IOCaseDemo {

public static void main(string[] args){ System.out.printl(Arrays.toString(Factory.getInstance().getData());

Tom:89.1|Jerry:90.01|qiangqiang:59.9

输入信息,执行代码得

图片22.png

相关文章
|
关系型数据库 MySQL 索引
MySQL基础-排序查询(下)
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;
387 0
|
2月前
|
SQL
有序行转列
本文介绍了配送订单表的基本结构与相关SQL查询方法。配送订单表记录了骑手配送的物品类型、送达时间、顾客ID等信息。通过SQL查询可实现按送达时间对顾客ID进行排序,并展示了两种方法:一是使用`collect_list`和`collect_set`函数(存在不确定性),二是将时间和顾客ID拼接后排序再拆分,确保结果有序。此外,还提供了创建表和插入数据的示例,并推荐了更多关于行转列和列转行的相关资料。
SPSS数据排序
SPSS数据排序
114 0
|
SQL 数据库管理 索引
SQL基础——聚合与排序(下)
SQL基础——聚合与排序(下)
162 0
|
6月前
|
存储 算法 搜索推荐
计数排序-解决海量数据排序
计数排序-解决海量数据排序
55 0
|
存储 搜索推荐 算法
“插入排序:小数据量排序的王者“
“插入排序:小数据量排序的王者“
124 0
|
SQL
SQL基础——聚合与排序(上)
SQL基础——聚合与排序(上)
69 0
【算法】全排序I,全排序II-回溯算法中的树枝去重和树层去重理解
【算法】全排序I,全排序II-回溯算法中的树枝去重和树层去重理解
|
存储 人工智能 搜索推荐
【八大数据排序法】合并排序法的图形理解和案例实现 | C++
排序算法是我们在程序设计中经常见到和使用的一种算法,它主要是将一堆不规则的数据按照递增或递减的方式重新进行排序。在如今的互联网信息时代,随着大数据和人工智能的发展,大型企业的数据库中有亿级的用户数据量。因此对其进行处理,排序算法也就成为了其中必不可缺的步骤之一。
128 0
【八大数据排序法】合并排序法的图形理解和案例实现 | C++
|
关系型数据库 MySQL 数据库
MySQL基础-排序查询(上)
排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序。
143 0