数据排序处理|学习笔记-阿里云开发者社区

开发者社区> 学堂小助手> 正文

数据排序处理|学习笔记

简介: 快速学习数据排序处理
+关注继续查看

开发者学堂课程【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.​​score​​​​score​​;

 }

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
排序算法大数据量测试代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Diagnostics; using System.IO; namespace Sort { class Program
829 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12076 0
机器学习:数据特征预处理缺失值处理
机器学习:数据特征预处理缺失值处理
7 0
数据结构与算法之插入排序(含改进版)
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
32 0
1394
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载