java8排序取最大值的简单介绍
今天给各位分享java8排序取最大值的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java利用数组求最大值,最小值,平均值,进
- 2、如何用Java找出一个整数数组中最大的值,并返回最大值的数组下标,尤其是有两个或是三个最大值时?
- 3、java输入5个数输出最大和最小值
- 4、JAVA用迭代的思想,不遍历,找出数组中的最大值
java利用数组求最大值,最小值,平均值,进
传统的做法就是for循环, 通过循环比较得到最小值,最大值. 通过累加的和除以个数等于平均值
比较新的做法就是Java8 的流操作. 可以更方便快捷的得到最大,最小和平均值
参考代码如下
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.stream.Collectors;
public class ArrayDemo {
public static void main(String[] args) {
Integer[] nums= {6,5,7,8};
test1(nums);
System.out.println("----分割线---");
test2(nums);
}
//传统的处理方法
public static void test1(Integer[] nums) {
int max=Integer.MIN_VALUE;
int min=Integer.MAX_VALUE;
int sum=0;
for (Integer num : nums) {
if(nummax) {
max=num;
}
if(nummin) {
min=num;
}
sum+=num;
}
double avg=sum*1.0/nums.length;
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
System.out.println("平均值:"+avg);
}
//Java8 开始的 stream操作
public static void test2(Integer[] nums) {
IntSummaryStatistics results = Arrays.stream(nums).collect(Collectors.summarizingInt(e-e));
int max=results.getMax();//获取最大值
System.out.println("最大值:"+max);
int min=results.getMin();
System.out.println("最小值:"+min);
double avg=results.getAverage();
System.out.println("平均值:"+avg);
}
}
如何用Java找出一个整数数组中最大的值,并返回最大值的数组下标,尤其是有两个或是三个最大值时?
用System.out.println(j); //输出最大值下标即可。
一、源程序为:public class Test2 {public static void main(String[] args) {int [] arr={23,12,32,13,31,56,43}sort(arr);System.out.format("%d",+arr[6]);// TODO Auto-generated method stub}public static void sort(int azz[]){int t;for(int i=0;iazz.length-1;i++){ if(azz[i]azz[i+1]){ t=azz[i];azz[i]=azz[i+1]azz[i+1]=t;}}}}。
二、此程序使用了数组:有关数组:声明格式 : 数据类型 数组名[ ]; 或 数据类型 [ ] 数组名;同时声明与创建数组的格式为:数据类型 数组名[ ]=new 数据类型 [ size ]其中,new用来给数组分配内存,size用来定义数组的长度。
三、函数调用:sort(arr);形式:public class Test {public static void main(String[] args) {sort(arr);}public static void sort(int azz[]){}}。
四、冒泡排序第一次,找出最大的值。比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
java输入5个数输出最大和最小值
可以使用数组接收所输入的数字,然后使用数组集合的排序方法Arrays.sort();进行有序排序,取出 0 索引和 length-1 索引的数值,也就是最小值和最大值。
示例代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
try {
for(int i = 0; i arr.length; i++){
System.out.println("请输入第"+(i+1)+"个数!");
arr[i] = sc.nextInt();
}
Arrays.sort(arr);
System.out.println("最小值:"+arr[0]+"\n最大值:"+arr[arr.length-1]);
} catch (Exception e) {
throw new RuntimeException("您输入不是数字!");
}finally{
sc.close();
}
}
}
JAVA用迭代的思想,不遍历,找出数组中的最大值
现在java8中的stream的IntStream可以方便找到数组中的最大值,而且现在stream已经把遍历内置到了jdk中,代码更整洁
通过把int数组直接转化为IntStream,然后再用内置的max方法直接求得最大值即可
示例代码如下:
int[] arr = {2,53,67,33,12,90,49};
System.out.println(IntStream.of(arr).max().getAsInt());
运行结果
java8的新特性stream(流)处理集合增加更多便利,同时提升了运算的效率,可以说是优雅的编程形式,把循环内置到了jdk中,只暴露了你想要什么,这种已经都是声明式编程,不再是以往的命令式编程了
想了解更多的关于stream的知识,可以去看看这篇文章
关于java8排序取最大值和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-20,除非注明,否则均为
原创文章,转载请注明出处。