关于Java Arrays.sort()的问题

我写了一个关于Arrays.sort()的例子 。

int[] arrayT = {2,1,121,123};
for(int i : arrayT)
{
Arrays.sort(arrayT);
System.out.println(i);
}

输出结果是:2
2
121
123

为什么不是我想像的1,2,121,123呢? 而且还出现了在数组中没有出现的元素??

0

2个回答

因为你的Arrays.sort(arrayT);在for里面,第一次for的i取得是未排序数组的第0个值,也就是arrayT[0],就是2,后来排序了,2就变成第一个元素了

0

为甚不把Arrays.sort(arrayT); 放到for外面?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于Java中Arrays.sort()的几种用法
复习了Java数组之后,突然Arrays里面有一个sort是针对数组排序的。。。然后就看了看它的简单用法!!! Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。 但是sort()的参数有好几种,下面我就为大家一一介绍,这几种形式的用法。 Arrays.sort(int[] a) 这种形式是对于一个数组的元素进行排序,按照从小...
java中关于Arrays.sort()的三种用法
Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。 但是sort()的参数有好几种,下面我就为大家一一介绍,这几种形式的用法。 1、Arrays.sort(int[] a) 这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。 举例如下(点“+”可查看代码): 1 import java.util.Ar...
关于java中Arrays.sort()的几种用法
今天看到了Arrays了(觉得自己学东西真是龟速啊),Arrays里面有一个sort是针对数组排序的。。。然后就看了看它的简单用法 同样转载(我不生产代码,我只是代码的搬运工.....):http://www.tuicool.com/articles/iii6N3      感谢 Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在
java中Arrays.sort使用的是什么算法
java中Arrays.sort使用了两种排序方法,快速排序和优化的合并排序。快速排序主要是对哪些基本类型数据(int,short,long等)排序, 而合并排序用于对对象类型进行排序。使用不同类型的排序算法主要是由于快速排序是不稳定的,而合并排序是稳定的。这里的稳定是指比较相等的数据在排序之后仍然按照排序之前的前后顺序排列。对于基本数据类型,稳定性没有意义,而对于对象类型,稳定性是比较重要的,因
Arrays.sort和快速排序
今天在写快排和冒泡的时间比较,后来发现碾压,没办法我就召唤出了Java自带的Arrays.sort想与它一较高低。 首先贴代码: 快排: //快排 public static void QuickSort(int array[], int low, int high) { int i = low; int j = high; int x; if...
java中Arrays.sort()比较器的使用
1、Comparator实现 import java.util.*; class DecentComparator implements Comparator{ public int compare(Integer o1, Integer o2) { return o2 - o1; } } 2、使用时注意必须用int的封装类Integer才
浅层次理解Java Arrays.sort()函数
前几天java考试,遇到对对象数组进行排序,不太理解其中的原理,下面来更深入的理解下。(具体sort()的使用方法参加API文档) Arrays.sort()的使用主要分为对基本数据类型数组的排序和对对象数组的排序. 1.对基本数据类型数组的排序 1>数字排序: int[] intArray = new int[]{1,56,-5,33}; Arrays.sor
Arrays.sort与冒泡排序时间比较
Arrays.sort与冒泡排序时间比较
java中Arrays.sort方法的排序
      Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,是非常好用的,一般需要排序的时候,我是直接使用;如果是逆序排序需要自己定义排序规则。 方法1: package leetcode; import org.junit.Test; import java.util.Arrays; import java.util.Comp...
Java使用Arrays.sort()方法给对象排序
当我们给一个整型数组或者浮点型之类的数组排序的时候,很简单就可以达到我们排序的目的,无非是排序算法的问题。那么,如果我们现在想根据对象的一个属性值给一个对象数组进行排序呢? 假如我们现在有一个Car类型,Car类中有一个double型的speed属性用来描述车辆的速度,现在我们想根据车速来对一个Car数组中的车辆进行排序,怎么做呢? public class Car{ private doubl...
Arrays.sort()的内部排序机制
数组的操作可以使用java提供的工具类Arrays,其中Arrays.sort()方法用于数组的排序。   基本数据类型数组的操作,使用经过优化的快速排序算法   当数组的规模较小时,直接插入排序的比较次数并不会比快排或者归并多多少,其效率反而不如简单排序算法,所以在数组规模小于7时,使用直接插入排序,   当数组规模较大时,合理的选择快排的枢轴元素,如在规模小于40时,在数组的首,中,尾三个位置上的数,取中间
java排序函数Arrays.sort对类排序
  在使用排序函数的时候,都要考虑一个排序的方式,尤其是自定义变量,有多个属性,是以哪一个属性进行排序。 在C++中可以定义一个结构体,再使用algorithm库中的sort对变量数组进行排序,内部使用的是快速排序,前面介绍过快排的过程。同样java中也有个sort,同样可以设置排序方法。 import java.util.Arrays; public class Main { p...
Arrays.sort()的底层实现
Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。   基本类型:采用调优的快速排序   对象类型:采用改进的归并排序 1.基本类型(以int为例) 源码中的快速排序,主要做了以下几个方面的优化:   1)当待排序的数组中的元素个数较少时,源码中的阀值为7,采用的是插入排序。尽管插入排序的时间复杂度为0...
Java 冒泡排序 并与 Arrays.sort(arr) 比较
前段时间收到一个猎头电话面试,问了关于冒泡排序的.我居然一时间想不起来... 只是回答了,大概俩个for循环什么的... 今天想起来,复习下:        jdk 1.8.0_181 package review; import java.util.Arrays; public class Jacktu{ public static void bubble_sort(int[] a...
浅谈Java的Comparator接口实现自定义排序Arrays.sort()
使用Comparator接口:编写多个排序方式类实现Comparator接口,并重写新Comparator接口中的compare()方法。 题目描述: 从A、B、C、D、E5个方面对每一家酒店进行评价收集,并给出1-5星的评分(整数),排序规则如下: (1)优先按照最低星数进行排序,最低星数高者居前。 (2)在最低星数相同时,按照平均星数排序,平均星数高者居前。 (3)若最低星数和平
解析Arrays中sort方法的黑科技
排序问题是算法里面的经典问题,也是计算机学科数据结构课程里面的必修课,面对诸多的如插入排序,快速排序,堆排序,归并排序等等经典排序算法,JDK的实现者是如何选择排序算法的呢?我们经常使用的对数据进行排序的算法Arrays.sort,Collections.sort方法,那么具体它们是如何实现的呢,本文尝试从jdk 1.8的实现源码上进行分析,学习在实际工业环境下对排序算法的使用方法。 概...
JAVA 中 Arrays.sort 中的排序的方法
1、定义               Arrays.sort()方法根据传出参数的长度的大小来判断用哪种排序方法,如果数组的长度小于7用冒泡排序,如果数组长度大于7,将数组分为两部分,前半部分和后半部分分别进行冒泡排序,最后再执行一次总的排序 2、源码             static void sort(Object[] a, int lo, int
java模拟Arrays.sort实现自定义排序
        给你一连串数字要你排序,你可能觉得小case,如果我这里有一个图书类别,图书类的成员变量有:书名、价格、作者等等 要求你根据图书价格升序排序打印所有图书信息,你会怎么做呢?        咱们可以在图书类里面定义一个compare 方法                int compare(Book book){                 return   price...
【Java】字母逆序输出Arrays.sort()
public class Test{ public static void main(String[] args){ Scanner in=new Scanner(System.in); String[] arr=new String[7]; for(int i=0;i<arr.length;i++) arr[i]=in.next(); Arrays.sort(arr);
Arrays.sort源码解析
在工作中,因为很少去查看源码,导致很多问题可能没有深入的研究。毕竟需要有所提高,必须要能够看懂优秀的人写的代码,因此我花时间从JDK源码开始,在看源码时,并以博客方式记载!(该源码基于JDK1.8版本,与较低版本有较大差别)一、Arrays.sort方法简介Sorts the specified range of the specified array of objects according t...
Java中Arrays.sort排序源码分析
本篇以JDK1.7版本来说明:首先说明:Arrays.sort()方法是根据传出参数的长度的大小来判断用哪种排序方法。主要有归并排序、快速排序、插入排序、计数排序
Arrays.sort()用来自定义排序的使用
compareTo方法: public int compareTo(String anotherString)按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。按字典顺序将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位...
Arrays.sort()的一个例子及分析。。
在C++中sort排序很简单,在java中同样很简单的。 lintcode中的一道题目,如下。 Given a dictionary, find all of the longest words in the dictionary. 点击打开链接 代码如下。 import java.util.ArrayList; import java.util.Arrays; import j
Arrays.sort源码分析
2017.11.30 开始对JDK源码的阅读,在算法书上看到提及过这个,而且自己平时偷懒简单排一排的时候,也是使用这个方法进行排序,索性将它看上一看。 /** * The minimum array length below which a parallel sorting * algorithm will not further partition the sorting task. U
全面解析Arrays.sort——JDK源码解析
一. 简介 Arrays.sort()方法,是我们常用排序方法,所在包  java.util.Arrays; 该方法提供了对所有类型的排序方法,不同类型采用的排序策略也不尽相同。今天我们一起来讨论下关于Arrays.sort()对不同类型排序的支持和策略。 如下是JDK1.8的Arrays.sort()方法:
Arrays.sort源码实现
java1.7之后的版本,开始用双轴快排取代了以前的排序算法,现在只实现了8种基本数据类型性的双轴快排(降序排序),对象的排序在1.7中还在用老式的,不过都标了过时,估计以后版本中就会被新的双轴快排取代了。DualPivotQuicksort()方法,里边一共写了三种算法(不算改进版的插入排序),对于大数组而且部分高度有序的用归并排序;其余的用双轴快排进行分割,分割到足够小的时候用插入排序(主要是...
Arrays.sort()用的是什么排序算法?怎么优化?
Arrays.sort()用的是快速排序算法。相信大家对于这个都是了解的。 算法的思想: 选择基准将数组一分为二,基准前面的比基准小,基准后面的比基准大,之后分别对这两部分继续之前的操作,已达到整个数组有序的目的。 算法内容描述: 先选择一个基准,指向数组开始的指针start和指向数组结束的指针end; 当star
Arrays和Collections 对于sort的不同实现原理
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp46 1、Arrays.sort() 该算法是一个经过调优的快速排序,此算法在很多数据集上提供N*log(N)的性能,这导致其他快速排序会降低二次型性能。 2、Collections.sort() 该算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素效益高子列
用Arrays.sort()对数字排序
有的时候需要对数组里的element进行排序。当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在 数组元素比较少的时候可以使用。   Sorting an Array        1. 数字排序  int[] intArray = new int[] { 4, 1, 3, -23 };   Arrays.sort(intArray)
Arrays.sort方法的实现过程,以字符数组为例
public static void sort(char[] a){ sort1(a,0,a.length); } public static void sort1(char[] x,int off,int len){//off和len控制排序的范围 //如果字符长度小,用直接插入排序。升序 if(len for(int i=off;i for(int j=i+1;j>off&&
Arrays.sort()进行比较原理是什么?求解
最近在进行数组比较的时候,用到了Arrays.sort()方法,但是发现它并不是根据从小到大进行排序的,它是根据什么排序的呢?如果不是从小到大排序,那么排序的意义是什么呢?网上找的说的不是很清楚,希望大神可以解答一下 package test1; import java.util.Arrays; public class Demo4 { public static void main(St
【Java】Arrays类中的sort()方法改写
Arrays.sort()方法虽然功能强大,但是在平常的使用中难免会出现各种情况使得其无法满足我们的需求,这个时候就该用到: Arrays.sort(a, fromIndex, toIndex, c); 这种用法了 先对方法中的各项参数进行解释: a——需要进行排序的对象 fromIndex——排序进行的起始位置 toIndex——排序的终止位置 c——自定义的排序规则 实...
java数组排序Arrays.sort,以及结合Comparator接口的用法
[color=darkblue][b][size=medium]Sorting an Array[/size][/b][/color] 1. 数字排序 int[] intArray = new int[] { 4, 1, 3, -23 }; Arrays.sort(intArray); 输出: [-23, 1, 3, 4] 2. 字符串排序,先大写后小写 String[] strAr...
Arrays.sort 按字母书序排序
java中的数组排序。[1]  Arrays.sort(*Array) 需加包import java.util.*;或import java.util.Arrays; Arrays.sort(数组名)为数组排序的操作,但这个方法在 java.util 这个包里面,所以在用到的时候需要先将它导入 2范例编辑 // 以下程序是数组的排序操作,在这里使用了 sort 方法
Java 实现对Arrays类 自定义 排序sort的2种方法
一、实现Comparable接口(用于类之间的排序):  假设有Employee类,有name和salary字段, 需要实现Comparable&amp;lt;T&amp;gt;接口: public class Employee implements Comparable&amp;lt;Employee&amp;gt; { private String name; private double salar...
踩坑日记(09-22)之 Arrays.sort()排序报空指针错误
踩坑日记(09-22)之 Arrays.sort()排序报空指针错误请看以下代码: public static void sort(){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c");
Arrays.sort()排序报空指针错误
Arrays.sort()排序报空指针错误
Java采用快速排序算法的Arrays.sort()方
package project0; import java.util.*; public class sort { public static void main(String []args) { int []array=new int[6]; Random rand=new Random(); for(int i=0;i&amp;lt;array.length;i++) { array[i]=rand....
java的一些数组问题
1.如何排序数组并搜索某个元素,找到返回下标 package zuoye; import java.util.Arrays; //找出指定元素的下标 import java.util.Scanner; public class Test005 { public static void lp(int[] array,int pwd){ for(int i=...
Java中的Arrays类中sort方法comparable接口
Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足前提:对象所属的类必须实现了Comparable接口
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 ios视频开发问题