【java基础】获取数组中的最⼤值和最⼩值1. 使⽤ stream
将⼀个数组放进 stream ⾥⾯,然后直接调⽤ stream ⾥的 min 或 max 函数得到最⼤值。
@Test
public void index2(){
int ages[] = {18 ,23 ,21 ,19 ,25 ,29 ,17};
int maxNum = Arrays.stream(ages).max().getAsInt();
System.out.println("最⼤值为:"+ maxNum);
}
2. 使⽤ collection
将数组转化为对象数组,即 int 转化为 Integer (需要使⽤数组转换)。然后调⽤ Collection ⾥⾯的 min或max.
@Test
public void index3(){
int ages[] = {18 ,23 ,21 ,19 ,25 ,29 ,17};
Integer newAges[] = new Integer[ages.length];
for(int i=0;i<ages.length;i++) {
newAges[i] = (Integer)ages[i];
}
int maxNum = Collections.max(Arrays.asList(newAges));
System.out.println("最⼤值为:"+ maxNum);
}
3. 使⽤ Arrays 中的 sort
Arrays 类中的 sort 可以⾃动将⼀个数组排序,排序后数组中最后⼀个元素就是最⼤值,缺点是会改变数组。
@Test
public void index1(){
int ages[] = {18 ,23 ,21 ,19 ,25 ,29 ,17};
Arrays.sort(ages);
int maxNum = ages[ages.length-1];
System.out.println("最⼤值为:"+ maxNum);
}
4.使⽤⾃定义函数
默认把第⼀个元素作为最⼤值,然后for循环,如果⼤于最⼤值,则进⾏替换。
public int getMaxAge()
用sort out{
int ages[] = {18 ,23 ,21 ,19 ,25 ,29 ,17};
int max = ages[0];
for(int i = 1;i<ages.length;i++){
if(ages[i]>max){
max = ages[i];
}
}
return max;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论