问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

Java中怎么取出数组中某个单位的某个值进行排序?

发布网友 发布时间:2023-07-10 08:58

我来回答

5个回答

热心网友 时间:2023-07-12 18:21

sort(T[] a, Comparator<? super T> c)

用这个函数,自定义comparator函数实现最后一个值排序

import java.util.Arrays;
import java.util.Comparator;
public class TestDengCha {
 public static void main(String[] agrs) {
  Student[] s = new Student[5];
  s[0] = new Student("西西", 59, 78, 80);
  s[1] = new Student("小亿", 67, 78, 70);
  s[2] = new Student("咚咚", 23, 84, 77);
  s[3] = new Student("李济", 69, 78, 73);
  s[4] = new Student("冰芳", 76, 74, 71);
  Arrays.sort(s, new Comparator<Student>() {
   @Override
   public int compare(Student s1, Student s2) {
    if (s1 != null && s2 != null) {
     return s1.getEnglish() > s2.getEnglish() ? 1 : (s1.getEnglish() == s2.getEnglish() ? 0 : -1);
    }
    return 0;
   }
  });
  System.out.println(Arrays.toString(s));
 }
}
class Student {
 private String name;
 private int chinese;
 private int math;
 private int english;
 Student(String name, int chinese, int math, int english) {
  this.name = name;
  this.chinese = chinese;
  this.english = english;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getChinese() {
  return chinese;
 }
 public void setChinese(int chinese) {
  this.chinese = chinese;
 }
 public int getMath() {
  return math;
 }
 public void setMath(int math) {
  this.math = math;
 }
 public int getEnglish() {
  return english;
 }
 public void setEnglish(int english) {
  this.english = english;
 }
 @Override
 public String toString() {
  return "姓名:" + name + " 语文" + chinese + " 数学" + math + " 英语" + english;
 }
}

热心网友 时间:2023-07-12 18:22

Collections 类的方法 sort
public static <T> void sort(List<T> list,
Comparator<? super T> c)

根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较(也就是说,对于列表中的任意
e1 和 e2 元素,c.compare(e1, e2) 不得抛出
ClassCastException)。
此排序被保证是稳定的:不会因调用 sort 而对相等的元素进行重新排序。
排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n log(n) 性能。
指定列表必须是可修改的,但不必是可大小调整的。此实现将指定列表转储到一个数组中,并对数组进行排序,在重置数组中相应位置每个元素的列表上进行迭代。这避免了由于试图原地对链接列表进行排序而产生的
n2 log(n) 性能。

参数:
list - 要排序的列表。
c - 确定列表顺序的比较器。null 值指示应该使用元素的自然顺序。
抛出:
ClassCastException -
如果列表中包含不可使用指定比较器相互比较 的元素。
UnsupportedOperationException
- 如果指定列表的列表迭代器不支持 set 操作。

热心网友 时间:2023-07-12 18:22

将你的每一个数组的最后一个数放在num[]整形数组中,然后调用方法
Arrays.sort(num)(升序);

System.out.println("从大到小输出:");
for (int m = num.length-1; m >=0; m--) {
System.out.println(num[m]);//从大到小输出
}
}追问可是你这输出来的 就只有那个数的排序吧?还有别的内容要一起显示出来呢?

热心网友 时间:2023-07-12 18:23

数组中的元素现在是一个对象,只要获取对象的属性值,然后对数组进行排序即可。

热心网友 时间:2023-07-12 18:23

最后一个数值是Student的什么属性呢?
可以对s[i].属性这个值进行排序,可用冒泡排序
Java中怎么取出数组中某个单位的某个值进行排序?

用这个函数,自定义comparator函数实现最后一个值排序 import java.util.Arrays;import java.util.Comparator;public class TestDengCha { public static void main(String[] agrs) { Student[] s = new Student[5]; s[0] = new Student("西西", 59, 78, 80); s[1] = new Student("...

java中如何输出数组中某个元素在数组中的原始的位置?

} System.out.println("最小值的位置是:"+locateNum);System.out.println("最少的积分是:"+locateValue);}

用java编写一个通用的方法,在给出的一维数组中统计某一区间的数值个数...

import java.util.Scanner;public class scannertest { int start,end;public void scans(){ Scanner scan= new Scanner(System.in);System.out.println("请输入数组容量");int container= scan.nextInt();int[] array= new int[container];System.out.println("请输入数组最小值");start= scan....

java中 如何移除一组数据中的某个特定值

import java.util.*;public class SS{ public static void main(String[] args){ Integer[] a={1,2,3,4};ArrayList&lt;Integer&gt; at=new ArrayList&lt;Integer&gt;(Arrays.asList(a)); //用ArrayList存数组 int x=at.indexOf(3); //假如要删除3,获取3的下标,若不存在,返回-1 //System.out.p...

java如何删除掉数组中的某个元素??

= new String[arrays.length];int i = 0;for(String s:arrays){ if(!s.equals("2")){ tempArr[i] = s;i++;} } for(int j = 0; j &lt; tempArr.length; j++) { System.out.println(tempArr[j]);} // 数组本身是不可以移除元素的 但可以通过中间变量来实现数组的移除 ...

java 大家好,如何取出数组里的某个元素?

{ //如果输入的数字跟当前数组的元素的值相同 if(target == arr[i]) { //输入所在位置,从1开始 System.out.println(target + "位于数字的第" + (i + 1) + "位");//结束 return;} } //如果找不到的话就提示一下 System.out.println("数组中不存在数字:" + target);} ...

java怎么随读取一列数组里某个值?比如[1,2,3,4]随机读取其中的一个数...

public class J1 { public static void main(String[] args) { int[] temp = { 1, 2, 3, 4};int index = (int) (Math.random() * temp.length);// 随机数乘以数组长度,那么它的取值就在0-length之间 System.out.println(temp[index]);} } ...

java数组如何拿到该数组的某一个的下一个的值?

int[] data = new int[]{1,2,3,4,5};int a=2;for(int i=0;i&lt;data.length;i++){ if(a== data[i]){ //如果判断值相等 if(i&lt;data.length-1){//需先判断改值是否为数组的最后一个值,如果不是,再去取其下一个值 int b=data[i + 1];System.out.println("下一个值为 :...

java中,如何取数组的某一个值

看你bigcar这个类是怎么定义的。 比如 这个元素对应的是price的话 那就是 cars[0].price

java中,如何取数组的某一个值

n是你输入的数 BigCar bigCar = car[n];int a = bigCar .get400(); //这个400是对应400那个属性的get方法.你需要把你的BigCar类也粘出来,要不不知道你那个类里都有那些属性.不知道你们学没学到继承,你这个最好用继承的方式去做.否则就需要判断语句进行判断....

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
恐龙的食草食肉性是如何判断的? 打印机的打印速度怎样看?ipm和ppm什么意思?数值大的快还是小的... 内控PPM 是什么? 俄罗斯、日本以及北欧很多国家都出产白桦茸,哪个地区出产的质量更... 包子多少钱一个 ...一重伤一轻微伤,之后三个月他去自首了,我想 我老公把人打成轻伤二级现在自首了在看守所,可以办取保吗 我2个朋友5年前把人打致轻伤,5个后要自首要怎么判。事情都私了了。 ...他们把对方砍成轻伤乙级,我没砍,我自首,当时在公安机关就调解好了... ...但人已经没事出去打工了。现在我们主动自首了,法院会不会判缓期... 海岛奇兵 我低本高杯,一天最少被打3次。打我的都是30以上的。根本防不... 恭逢其盛造句 《FBI犯罪心理画像实录》epub下载在线阅读,求百度网盘云资源 《犯罪心理学万千心理》epub下载在线阅读全文,求百度网盘云资源 我们没有工作是不是就不正常? 没有工作我们怎样生活 没有工作是不是很丢人? 早上面包和牛奶美食 是美容美白的吗 女性美容的食物有哪些? &#xFFFC; 女孩学美容美甲,做蛋糕面包,哪个更有前景? 在哪里取消《王者荣耀》沃流量畅玩包? 沃游戏流量畅游包怎么取消 往铁管上缠的胶带叫什么 梦见把别人的火浇灭 如何用压力锅进行蒸汽灭菌? 请问聚丙烯酰胺能不能用在水产养殖的水处理上? iphone版最新版uc浏览器打开网页乱了,没有用到样式,其他浏览器都... 使用本地ip打开网页不加载样式 80级工程学侏儒还是地精 只有如何知道对方支付宝账号? Java数组里怎么排序,不带Arrays的。 重庆公积金贷款买房后可以提取余额吗 重庆公积金提前还款后如何提取公积金余额 重庆公积金每年提取额度 重庆公积金一次可以提取多少 贵州2021年高级经济师报名时间是什么时候?-高级经济师考试报名-高级经 ... 造梦西游4手机版团团什么时候上线的 造梦西游4啥时候出的 造梦西游手游什么时候出的 造梦西游四什么时候出的 造梦西游4什么时候出?小白龙什么时候出? LM-guides什么意思 摩托车第一次无证驾驶不拘留 摩托车第一次年检时间 平价收购股权是否存在所得税 平价股权转让需要缴纳税款吗 北京故宫60元门票包含哪些内容? 梅毒淋病艾滋病哪个更容易传染 Hiv和梅毒更易传染哪一个 山东小鸭模具有限公司怎么样?
  • 焦点

最新推荐

猜你喜欢

热门推荐