weixin_44647325 2019-04-10 19:30 采纳率: 20%
浏览 455

为什么ArrayList用set之后,运行出来是这样的?(麻烦大神帮忙解释一下,刚接触编程不太懂)

import java.util.ArrayList;

public class AP01 {

public static void main(String[] args) {
    ArrayList<String> students = new ArrayList<String>();

    students.add("Alex");
    students.add("Bob");
    students.add("Carl");

    for(int k = 0; k< students.size(); k++) {
        System.out.print(students.set(k, "Alex") + "  ");
    }

    System.out.println();

    for(String str : students) {

        System.out.print(str + "  ");
    }
}

}

Console

Alex Bob Carl

Alex Alex Alex

  • 写回答

3条回答 默认 最新

  • threenewbee 2019-04-10 19:34
    关注

    java.util.ArrayList.set(int index, E element) 替换与指定元素在此列表中指定位置的元素。
    此方法返回在指定位置之前元素。

    因为是返回之前的值,而之前就是Alex Bob Carl,所以第一次输出Alex Bob Carl
    同时,因为都设置成Alex了,所以第二次输出Alex Alex Alex

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝