JAVA中如何用array类中的sort排序方法实现数组排序
发布网友
发布时间:2022-04-23 15:38
我来回答
共3个回答
热心网友
时间:2022-04-24 15:19
public static void main(String[] args) {
int[] iii={4,5,61,3,2,4,26,21,2,-82,34};
Arrays.sort(iii);
for (int i : iii) {
System.out.println(i);
}
}
热心网友
时间:2022-04-24 16:37
public class testjava {
public static void main (String args[]) {
int src[] = {4, 5, 2, 88, 3, 99, 88, 55};
java.util.Arrays.sort(src);
int i=src.length;
System.out.println("第二大的数是:" + src[i-3]);
for(i=0;i<src.length;i++){
System.out.print(src[i]+"\t");
}
}
}
热心网友
时间:2022-04-24 18:11
package ch03;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class JavaBean {
//输出属性
public static void variable(PrintWriter pw,String value )
{
pw.println(" private "+value+";");
}
//输出有参构造器代码块
public static void parameter(PrintWriter pw,String value )
{
pw.println(" this."+value+"="+value+";");
}
//每个属性创建Getters和Setters方法
public static void middle(PrintWriter pw,String middle1,String middle2)
{
//将首字母转换大写转换
char c=middle2.charAt(0);
char d=Character.toUpperCase(c);
String caps = middle2.replace(c, d);
pw.println(" public "+middle1+" get"+caps+"(){"+"\r\n"
+" return "+middle2+";"+"\r\n"
+" }"
+"\r\n"
+" public void"+" set"+caps+"(){"+"\r\n"
+" }"
+"\r\n");
}
//读出文件内的行数
public static int length()
{
int result=0;
FileReader f1=null;
BufferedReader br=null;
try {
f1=new FileReader("D:/class.txt");
br=new BufferedReader(f1);
while(br.readLine()!=null)
{
result++;
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
public static void main(String[] args) {
//读取文件内容
FileReader f1=null;
BufferedReader br=null;
String [] a=new String [length()];
try {
f1=new FileReader("D:/class.txt");
br=new BufferedReader(f1);
for(int i=0;i<=length()-1;i++)
{
a[i]=br.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
File f=new File("D:/"+a[0]+".txt");
FileWriter f2=null;
PrintWriter pw=null;
//将属性拆分成属性类型和属性名称,并存入新数组c中
List<String> list = new ArrayList<String>();
for(int j=1;j<a.length;j++)
{
String [] b=new String[2];
b=a[j].split(" ");
list.add(b[0]);
list.add(b[1]);
}
String [] c= (String[]) list.toArray(new String[1]);
try {
f2=new FileWriter(f);
pw=new PrintWriter(f2);
pw.println("public class "+a[0]+"{"+"\r\n");//定义类名
for(int k=1;k<a.length;k++)//定义属性
{
variable(pw,a[k]);
}
pw.print("\r\n");
//定义有参构造器
pw.print( " public "+a[0]+"(");
for(int h=1;h<a.length;h++)
{
pw.print(a[h]);
if(h==a.length-1)
{
break;
}
pw.print(",");
}
pw.print(")"+"{"+"\r\n");
for(int g=1;g<=c.length;g+=2)
{
parameter(pw,c[g]);
}
pw.println(" }");
//定义无参构造器
pw.println( " public "+a[0]+"("+")"+"{"+"\r\n"+" }"+"\r\n");
//输出每个属性创建Getters和Setters方法
for(int y=0;y<=c.length-1;y+=2)
{
middle(pw,c[y],c[y+1]);
}
pw.println("}");
} catch (Exception e) {
e.printStackTrace();
}finally
{
pw.close();
}
}
}
Java1.7之后Arrays.sort对数组排序DualPivotQuicksort.sort
断点跟踪调用的是DualPivotQuicksort.java类的java双基准快速排序方法sort实现 跟踪进去就是具体排序方法的实现、其中具体方法:参数int[]a是需被排序的int数组,left和right是该数组中需要被排序的部分的左右界限.而后面的work,workBase和workLen三个参数其实并不会参与双基准快速排序,而是当系统认为本数组更...
Java通过几种经典的算法来实现数组排序
<1>利用Arrays带有的排序方法快速排序 public class Test2{ public static void main(String[] args){ int[] a={5,4,2,4,9,1}; Arrays.sort(a); //进行排序 for(int i: a){ System.out.print(i); } } } <2>冒泡排序算法 public static int[] bubbleSort(...
java中怎么 对数组里的 元素 按出现的顺序排序
其实这个用java.utils.Arrays这个对象里的sort(T[],Comparator)的这个方法就可以了。String[] words = new String[] { "apple", "dog", "apple", "dog", "apple", "cat", "cat", "dog", "lamb" }; Arrays.sort(words, String.CASE_INSENSITIVE_ORDER);这样words就已经被排序了。Plus:...
java中用Arrays sort()如何将字符串倒序排列?如,将"abcdefg"排序为"gfe...
java中用arrays sort()方法将abcdefg倒序,可以先试用java的comparable接口先进行比较,然后排序,实例如下:package test; import java.util.Arrays;import java.util.Comparator; public class Arraysort { public static void main(String[] args) { String s = "a,b,c,d,e,f,g"; St...
在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[] args) {int n = 5;int[] a = { 8, 5, 4...
Java中Array.sort()的排序原理
要想使用sort(),数组中的所有元素都必须实现 Comparable 接口 我想你的People类中应该有这个方法 sort()方法是按对象的自然顺序排序,也就是int compareTo(T o)方法定义的顺序.看看java.lang.Comparable接口 public int compareTo(People p1){//String类实现了Comparable接中,表示按字典顺序排序 int ...
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=ve...
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
sort( T[]a,Comaparator c)才行,第二个参数需要自定义一个比较器类实现Comaparator接口,根据需要重新compare方法。第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的reverse方法倒序排列,最后调用Collection的toArray方法转换成数组。
java.util.Arrays.sort(x); 这个表示对的是按 降序、升序还是其他的什么...
按照升序排列,如果对于实现了comparable接口的类来说,则是在执行int compareTo(Object o)方法,返回为1的放在后面,如A类实现了comparable接口,A类有a1,a2两个对象,如果a1.compareTo(a2)的值为1,则表示a1>a2,sort之后,为 a2,a1
java中Arrays.sort使用的是什么算法
Arrays.sort()先来看看Arrays.sort();,一点进这个方法会看到是这样子的public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);}123果然没这么简单,DualPivotQuicksort翻译过来就是双轴快速排序,关于双轴排序可以去这里http://www.cnblogs.com/n...