Java中for-each遍历中获取下标进阶(运用API方法获取)
标签:
package com.yiqun.arraysforeach;
import java.util.Arrays;
public class Foreach {
/**
- @question for-each方法遍历时如何使用API来获取下标
- @target(终极版)for-each方法遍历时使用时API来获取下标
*@return 需求:将一个数组进行排序(升序)并打印排序后各数组元素及其下标 - @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] scores = { 89, 72, 64, 58, 93 };// 定义一个整型数组,并初始化数组
System.out.print("数组scores排序前:");
for (int score : scores) {
System.out.print(score +" ");
if (scores.length-1==Arrays.binarySearch(scores, score)) {
System.out.println();
}
}
Arrays.sort(scores);//对Arrays类对数组进行排序
System.out.print("数组scores排序(升序)后:");
for (int score : scores) {
System.out.print(score +" ");
}
System.out.println("\n"+"排序后其中各元素对应数组下标为:");
//使用for-each遍历输出数组中的元素及其下标,而非自定义计数器变量的伪下标
for (int score : scores) {
int index = Arrays.binarySearch(scores, score);
System.out.println("数组中元素:"+score+" 其 对应下标为: "+index );
}
}
}
说明:
针对慕课http://www.imooc.com/code/1864大量提问for-each问答,截至目前没有给出Java强逻辑的解答,
在此补充最佳方案:for-each遍历时,使用Java-API方法获取下标: Arrays.binarySearch(scores, score);。
补充:可以将此思路推广到集合遍历元素时。
点击查看更多内容
8人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦