java对数组排序(JAVA如何以数组中的一列作为标准进行排序)

本文目录
- JAVA如何以数组中的一列作为标准进行排序
- java中对数组中的数据进行随机排序
- 编写一个java程序对一个字符串数组进行排序
- JAVA编程实现对数组{25.24.12.76.101.96.28}的排序使用冒泡排序算法
- java语言:对包含5个元素的一维数组用冒泡法进行排序,编程实现并输出排序后的结果
- java 如何实现数组排序并输出每个数字原来的索引
JAVA如何以数组中的一列作为标准进行排序
这是对对象数组进行排序,有两种方法:1、一种是实现Comparable接口,复写compareTo()方法。2、另一种是自定义一个比较器即实现Comparator接口,复写compare()方法。
import java.util.Arrays;
import java.util.Comparator;
class Student
{
public int id;
public String name;
public int age;
public Student(int id,String name,int age){
this.id=id;
this.name=name;
this.age=age;
}
public String toString(){
return "根据第三列排序:"+this.name+".."+this.age;
}
}
class StudentComparator implements Comparator《Student》//定义一个Student比较器
{
public int compare(Student stu1,Student stu2){
if(stu1==stu2){
return 0;
}
if(stu1.age《stu2.age){
return 1;
}else if(stu1.age》stu2.age){
return -1;
}else{
return 0;
}
}
}
public class StudentTest
{
public static void main(String args){
Student stu= {new Student(1,"张三",2),new Student(2,"李四",4),
new Student(3,"王五",1),new Student(4,"赵六",0)};
StudentComparator sc=new StudentComparator();
Arrays.sort(stu,sc);
for(int i=0;i《stu.length;i++){
System.out.println(stu);
}
}
}
java中对数组中的数据进行随机排序
对数组进行随机排序分为两种形式,一种是完全随机排序,一种是不完全随机排序,区别是完全随机对数组中原先任意的数据不会出现在原来的位置上,那么,一般来说,完全随机排序的需求会相对较大,我在此先给出完全随机方式,如果你需要不完全随机排序,可以再说:
举个例子:有一批数据,共n个,依次为a1,a2,a3,…,an-1,an,需要对它们进行完全随机排序。排序方法类似于直接选择,从左至右,即从ai+1~an中随机抽取一个数据与ai交换(1≤i≤n-1)。先排序第一个数据a1:从a2~an中随机抽出一个数据与a1交换;再排第二个数据a2:从a3~an中随机抽取一个数据与a2交换;再排第三个数据a3:从a4~an中随机抽取一个数据与a3交换;…;最后排第n-1个数据an-1:从an~an中随机抽取一个数据与an-1交换;第n个数据已不需要排序。这样,总共需要排n-1次。 从以上的算法分析中可以看出,每个待排序数据都会与其它数据交换位置,所以,每个数据都不会出现在原先的位置上,这是完全随机排序。
编写一个java程序对一个字符串数组进行排序
import java.util.Arrays;
public class StringDateSort {
public static void main(String args) {
String numString="23 10 -8 0 3 7 108";
String sortStr=sortNumberString(numString);
System.out.println("排序的结果是"+sortStr);
}
private static String sortNumberString(String numString) {
//1.将给定的字符串分解成多个数字格式字符串
String numStrings=toStringArray(numString);
//2.将字符串数组转成int数组
int nums=toIntArray(numStrings);
//3.对数组排序
sort(nums);
//4.将int数组转成字符串
return toString(nums);
}
private static String toString(int nums) {
StringBuffer stringBuffer=new StringBuffer();
for (int i = 0; i 《 nums.length; i++) {
if (i!=nums.length-1) {
stringBuffer.append(nums+"《");
}else{
stringBuffer.append(nums);
}
}
return stringBuffer.toString();
}
private static void sort(int nums) {
Arrays.sort(nums);
}
private static int numStrings) {
int;
for (int i = 0; i 《 numStrings.length; i++) {
String s=numStrings;
nums=Integer.parseInt(s);
}
return nums;
}
private static String toStringArray(String numString) {
String numberStr=numString.split(" ");
for (int i = 0; i 《 numberStr.length; i++) {
System.out.println("抽出数字"+numberStr);
}
return numberStr;
}
}
JAVA编程实现对数组{25.24.12.76.101.96.28}的排序使用冒泡排序算法
import java.util.Arrays;
public class BubbleFinal {
public static void main(String args) {
int arr ={25,24,12,76,101,96,28};
sortFinal(arr);
}
public static void sortFinal(int arr) {
boolean sorted = true;
for (int j = 0; j 《 arr.length - 1; j++) {
sorted = true;
System.out.println("第" + (j + 1) + "趟\t");
for (int i = 0; i 《 arr.length - 1 - j; i++) {
if (arr) {
int temp = arr;
arr;
arr = temp;
sorted = false;
}
System.out.println("第" + (i + 1) + "次" + Arrays.toString(arr));
if (sorted) {
break;
}
}
}
}}
java语言:对包含5个元素的一维数组用冒泡法进行排序,编程实现并输出排序后的结果
代码:
public class test {
private static void sort(Integer arr, int n) {
if (n 《= 1) return; //如果只有一个元素就不用排序了
for (int i = 0; i 《 n; ++i) {
// 提前退出冒泡循环的标志位,即一次比较中没有交换任何元素,这个数组就已经是有序的了
boolean flag = false;
for (int j = 0; j 《 n - i - 1; ++j) { //此处你可能会疑问的j《n-i-1,因为冒泡是把每轮循环中较大的数飘到后面,
// 数组下标又是从0开始的,i下标后面已经排序的个数就得多减1,总结就是i增多少,j的循环位置减多少
if (arr) { //即这两个相邻的数是逆序的,交换
int temp = arr;
arr;
arr = temp;
flag = true;
}
}
if (!flag) break;//没有数据交换,数组已经有序,退出排序
}
}
public static void main(String args) {
Integer arr = {2, 6, 3, 67, 54};
sort(arr, arr.length);
System.out.println("冒泡排序后的数组为");
for (Integer i : arr) {
System.out.println(i);
}
}
}
java 如何实现数组排序并输出每个数字原来的索引
java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:
import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List; public class ceshi { public static void main(String) + ","); } } }
运行结果如下:

更多文章:
tcp ip四层网络模型(TCP IP参考模型共分为四层:( )、网络层、传输层、应用层)
2026年10月10日 15:20
sql server数据库管理系统是基于(MS-SQL 是甚麼)
2026年10月10日 14:40
oracle11g安装和配置(oracle数据库安装在什么地方)
2026年10月10日 09:10
php安装图文(php页面加入图文编辑框,这是什么技术,请大师指点)
2026年10月10日 08:50






