Java中for-each遍歷中獲取下標進階(運用API方法獲?。?/span>
標簽:
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://idcbgp.cn/code/1864大量提问for-each问答,截至目前没有给出Java强逻辑的解答,
在此补充最佳方案:for-each遍历时,使用Java-API方法获取下标: Arrays.binarySearch(scores, score);。
补充:可以将此思路推广到集合遍历元素时。
點擊查看更多內(nèi)容
8人點贊
評論
評論
共同學(xué)習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦