为了账号安全,请及时绑定邮箱和手机立即绑定

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人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消