有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么不支持这个系统。出来println(射线集(1,93));返回5,而不是93?

List<Integer> vals;
vals = new ArrayList<Integer>();
vals.add(23);
vals.add(11);
vals.set(1,5);
vals.add(4);
vals.set(0,7);
vals.add(53);
System.out.println(vals.set(1, 93));

当我运行这个时,我得到的是5,而不是93。在Oracle上,接口列表的修饰符和类型部分显示为E。有人能解释一下E是什么,为什么它是5而不是93吗


共 (2) 个答案

  1. # 2 楼答案

            List<Integer> vals = new ArrayList<Integer>();
            vals.add(23); // 0-23, 
            vals.add(11); // 0-23, 1-11, 
            vals.set(1,5); // 0-23, 1-5,
            vals.add(4);  // 0-23, 1-5, 2-4
            vals.set(0,7); // 0-7, 1-5, 2-4
            vals.add(53); // 0-7, 1-5, 2-4, 3-53
            System.out.println(vals.set(1, 93));  // 0-7, 1-93, 2-4, 3-53
            // As previously at 1 position, element was 5. So 5 will be returned in above statement.        
    

    When you call set method of ArrayList, it returns the the "element previously at the specified position".