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 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器