导航:首页 > 编程语言 > java中的sort

java中的sort

发布时间:2023-03-28 03:02:03

java 实现ArrayList的sort

java中可以使用Sort方法,可以对集合中的元素进行排序。Sort有三种重巧唤纳载方法,声孝没明代码如下所示。

public void Sort();
//使用集合元素的比较方式进行排序

public void Sort(IComparer comparer);
//使用自定义比较器进行排序

public void Sort(int index, int count, IComparer comparer)
//使用自定义比较器进行指定范围的排序

注意:为使用Sort方法进行排序,集合中的所有元素必须实现IComparable接口,否则,将抛出异常。

这里介绍使用第一种方法进行简单的排序实例

using System;
using System.Collections;
class Program{
static void Main(string[] args)
{
ArrayList al = new ArrayList();
al.AddRange(new string[8] { "Array1", "Array2", "Array3", "Array5", "Array4", "链猜Array8", "Array7", "Array6" });
al.Sort();
foreach (string s in al)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}

② java的sort方法为什么默认使用归并排序

因为你看的是java 6。
在Java 6中Arrays.sort()和镇兄Collections.sort()使用的桥旅卜是MergeSort,敏穗而在Java 7中,内部实现换成了 TimSort

PS: TimSort不仅内置在各种JDK 7的版本,也存在于Android SDK中(尽管其并没有使用JDK 7)。

③ JAVA中如何使用SORT从大到小排.

根据你这要求,只有一个陪乎明顷搭办法,但是有点约束:

import java.util.Arrays;
import java.util.Collections;
public class Test {

public static void main(String[] args) {
//注意,只能用对象类型,不可以使用简单类型 如int[] num则报错
Integer[] num = {5,8,3,9,1};
//如果是num是List或 Set,芦告则用Collections.sort(num,Collections.reverseOrder());
Arrays.sort(num,Collections.reverseOrder());
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}

④ java 数列sort方法

Arrays.sort(odd);是对odd直接进行排序,不需要返回值,排序结果还是在原来的数组里
应该是你的输出逻辑不对
index=0下面的语句都不执行
for(int n=0;n<index;n++)
{System.out.print(odd[n]+" ");}

⑤ Java 关于排列 (sort)

程序整体错误较多,但你的思路很清晰。在以后要多注意数组边界的处理和排序的逻辑性思维的锻炼

出现的错误已更正,需要注意的地方代码中已经指出。希望对你有帮助
————————誉斗汪——————程序代码——————————————

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class population {

static Scanner console=new Scanner(System.in);

public static void main(String[]args)
{ int[] x={1,25,7,6,8}; //x.length=5;
int i,j,f;
int []v=new int[8];

for (j=0;j<5;j++)/*由庆仔于x有5个元素,j=1开始循环的话那么j<6,但你
后边要给数组赋值所以只有改j的初始值了,
后边就将j+1就不会出现“x0”
*/
{System.out.println("Enter the number for x"+ (j +1));

for (i=0;i<8;i++)
v[i]=console.nextInt();

x[j]=(v[0]+v[1])-(v[2]+v[3])+(v[4]+v[5])+(v[6]+v[7]);

}
System.out.println("排序前:");
for (j=0;j<5;j++){
System.out.println("x"+j+"=" + x[j]);
}

for (f =0; f<x.length;f++)
{
for (j=0;j<(x.length-1);j++)/*循环每一个元素所以要从j=0开始,
在这个数组里 第4此循环比较x[3]和 x[4], 第5次循环
只取的最后一个元素 这销稿也是冒泡排序
要注意的地方,最后一次不要比较。*/
{
if (x[j]<x[j+1])
{ //将x[j],[j+1]交换位置,
int tmp=0;
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
}
}
}
System.out.println("排序后:");
for (j=0;j<5;j++){
System.out.println("x"+j+"=" + x[j]);
}

}

}
________________________________程序执行结果————————————
Enter the number for x1
1 2 3 4 5 6 7 8
Enter the number for x2
2 5 8 3 6 9 7 8
Enter the number for x3
1 4 7 2 5 8 3 6
Enter the number for x4
4 5 6 7 8 92 5
4
Enter the number for x5
4 5 6 8 5 2 3 6
排序前:
x0=22
x1=26
x2=18
x3=105
x4=11
排序后:
x0=105
x1=26
x2=22
x3=18
x4=11

⑥ java 中对class的sort

1、问题出在将一个数组对象强制转化为state对象宽穗弊,即: state y = (state) o
经过这一强转化使引用变量y指向堆中的一个数组对象,在 if(this.a == y.a)
中的y.a是不成立的,因为y指向的数组对象中没有a这族旦个成员变量所以慎族要抛出空指针异常
2、温馨提示:引用类型的变量的强制转化只存在于继承关系(父类与子类)中或实现关系(实现类与接口)中,其它情况的强制转化将导致类型不兼容的运行时异常。

⑦ 有朋友能详细介绍一下java中sort的用法吗

1.java.util.Collections.sort(List list)与Comparable,Comparator 接口
2.java.util.Arrays.sort(T[])与Comparable,Comparator 接口
3.JFace中 TableView ,TreeView, ListView的排序,实现ViewerSorter
两者的实现类似,不同的是针对的对象不一样。Collections.sort()针对的是List,Arrays.sort()针对的是数组。如果List中或者数组中存的都是基本数据类型(byte、short、int、long、float、double、char、boolean) 和 String,那么我们直接使用即可。如果其中存的数据是对象,那么有两种方法,一是每个对象实现Comparable接口,二是使用Collections.sort(List list,Comparator c)或者Arrays.sort(T[],Comparator c),临时实现一个Comparator 来实现排序。

最后是一个以TableView 为例。
TableViewer tableViewer = new TableViewer(detailGroup, SWT.BORDER | SWT.V_SCROLL
| SWT.H_SCROLL | SWT.FULL_SELECTION);
tableViewer.setSorter(new FolderSorter());
public class FolderSorter extends ViewerSorter {
。。。。。。
}

⑧ java数组sort()方法降序怎么排

java数组sort()方法降序方式:

用Arrays类蚂仔sort()对数组元素进行降序排列

import java.util.Arrays;

class SortDemo

{

public static void main(String[] args)

{

int[] vec={0,15,-14,45,20,70};

Arrays.sort(vec);

System.out.println("/n");

System.out.println("降铅宽序排列:");

for (int i=vec.length-1;i>=0 ;i-- )

{ 槐物亮

System.out.print(vec[i]+" ");

}

}

}

⑨ java中的的sort和comparable的区别与联系

类T实现comparable
这个接激伏口表示拥有
int
compareTo(T
t2)
这个方法。这就表示T的对象是可以两两比较大小的。
sort(Collection
c)
这个排序方法,正是利用T中的compareTo方法对T的对象集合中的对象两两进行比较来排序的。这就是sort与comparable的联系。
至于区别,一个功能羡仿是排序,一个功能是两两比较,功能是不相同的。但是兄铅纤能够两两比较是能排序的前提,试想一下如果两个对象不能比大小,怎么排序呢?

阅读全文

与java中的sort相关的资料

热点内容
excel表格单列数据加密 浏览:646
给同事的解压话语 浏览:990
linux关闭网卡命令行 浏览:452
史上最漂亮程序员 浏览:768
java实现excel的导入 浏览:758
光遇账号如何转移安卓 浏览:266
5分之13除以26的算法 浏览:342
兰州安宁区买解压包子 浏览:641
php接收图片代码 浏览:668
hci命令 浏览:662
福建服务器大区云空间 浏览:840
笔杆子程序员 浏览:745
手机软件易验证加密 浏览:589
文档加密只读模式也不能看到 浏览:431
把jpg转换成pdf的软件 浏览:874
linuxeth0mac 浏览:192
windows编程知乎 浏览:442
压缩工期超过40 浏览:249
Android怎么优化内存 浏览:106
linuxetcsysconfig 浏览:396