例子问题
例子问题1:列表
考虑下面的代码:
my哲人= new ArrayList
myPhilosophers.add(“弗雷格”);
myPhilosophers.add(“胡塞尔”);
myPhilosophers.add(“黑格尔”);
myPhilosophers.add(“法案”);
myPhilosophers.add(弗雷德里克);
For (int I = 0;i < myPhilosophers.size();我+ +){
字符串s = myPhilosophers.get(i);
if(s.charAt(0) >= 'H' || . charat (3) < 'd') {
myPhilosophers。(我,s.toUpperCase ());
}
}
System.out.println (myPhilosophers);
上面代码的输出是什么?
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
[弗雷格,胡塞尔,黑格尔,比尔,弗雷德里克]
考虑循环中的逻辑。if语句将被到达,如果你:
- 第一个角色是什么H或者在字母表后面(用大写字母)。
- 是否有第四个字符小于d.
第一个例子适用于“胡塞尔”和“黑格尔”。然而,第二条不适用于任何人——甚至不适用于“弗雷德里克”,因为d是平等的来d,不少于它!
例子问题1:列表
考虑下面的代码:
String [] db ={“哈维”、“普鲁塔克”,“弗雷格”,“Radulphus”};
ArrayList
For (int I = 0;I < 12;我+ +){
的名字。添加(db[i % db.length]);
}
For (int I = 0;I < 12;我+ +){
如果(names.get (i) .equals(“弗雷格”)){
names.remove(我);
}
}
上面的代码有什么bug ?
该列表将耗尽机器上的所有内存。
没有虫子。
的. get方法有bug并且可能崩溃。最好使用迭代器.
在这两个循环中有一个无限循环。
该列表将在第二个循环中超过其索引。
该列表将在第二个循环中超过其索引。
在第二个循环中,当您删除其中一个项时,您将ArrayList少了一个元素。这意味着,如果你试图遍历索引11,你将在某个时刻收到一个错误,因为列表将“缩小”。这类似于数组越界错误,尽管它将是IndexOutOfBoundsException异常。
示例问题11:常用数据结构
考虑以下代码:
公共静态类
私双半径;
公共圆(双r) {
半径= r;
}
public double getArea() {
返回半径*半径* Math.PI
}
}
public static void main(字符串[]args) {
ArrayList
For (int I = 0;I < 10;我+ +){
圆圈。添加(new Circle(i + 4 * 2));
}
}
下列哪项表示遍历列表的代码圈以输出其中包含的圆的面积?
For (int I = 0;I < circles.length;我+ +){
System.out.println(圈[我].getArea ());
}
For (int I = 0;I < circles.size();我+ +){
System.out.println(圈[我].getArea ());
}
For (int I = 0;I < circles.size();我+ +){
.getArea System.out.println(圈[我]. get () ());
}
For (int I = 0;I < circles.size;我+ +){
System.out.println (circles.get()[我].getArea ());
}
For (int I = 0;I < circles.size();我+ +){
System.out.println (circles.get (i) .getArea ());
}
For (int I = 0;I < circles.size();我+ +){
System.out.println (circles.get (i) .getArea ());
}
在这些答案中,只需要考虑两个问题。一方面,看一下循环控件语句。它是关于:
circle.size ()
而且
circles.length
为列表类型,您需要使用方法尺寸(),不长度(用于数组)。类中提取元素的一种方法ArrayList类型是使用. get方法。你必须用这个而不是括号[]用于数组。
例子问题2:列表
下列哪一个不是数组列表的有效声明?
ArrayList list = new ArrayList();
ArrayList list = new ArrayList();
List List = new ArrayList();
List List = new ArrayList();
ArrayList list = new ArrayList();
ArrayList list = new ArrayList();
数组列表是对象的列表,因此不能存储基本类型。如果希望在ArrayList中存储基元类型,则必须使用Double或Integer等容器对象。对象引用类型List是ArrayList对象的有效引用类型。
例子问题1:列表
下面哪个是不数组类和数组列表类在Java中的区别?
数组可以存储原语和对象,而数组列表只能存储对象。
您必须通过调用类似于My_array [some_number] = some_value
.对于数组列表,你使用add ()
方法。
数组在创建时有固定的大小,而数组列表可以根据需要增长。
所有其他的答案选择都是Java中数组和数组列表之间的区别。
要查找数组中点的数量,需要添加长处
坚持到底。要查找数组列表中的点的数量,可以使用尺寸()
方法。
所有其他的答案选择都是Java中数组和数组列表之间的区别。
在Java中,Array是一个固定长度的数据结构,而ArrayList是一个可变长度的Collection Class(其他Collection类成员包括HashMap和HashSet)。这意味着数组一旦创建就不能改变它的大小;必须制造一个全新的阵列。数组列表可以随意改变大小。
数组可以引用这两个原语(如int
)和类型(比如整数
).数组列表只能引用类型,不能引用原语。通过一个叫做"Autoboxing"的方法,可以看到数组列表存储了一个原语,但它真正做的是自动用它所喜欢的类型屏蔽原语,以便它与数组列表一起工作。
在创建数组期间,长处
值被赋值,所以每当您添加长处
到数组的末尾,就得到了长度(对于给定的数组,它永远不会改变)。对于数组列表,使用.size ()
函数,它返回数组列表的长度。因为ArrayList的大小是可变的,所以它是一个函数(这就是为什么括号在末尾)。
Java为数组列表提供了add()函数,顾名思义,它将参数添加到数组列表中。另一方面,数组没有添加元素的函数。要向数组中添加一些东西,你可以调用类似这样的命令:
Int [] my_array = new Int [10];
My_array [0] = 5;
问题91:标准数据结构
编写一个程序,遍历该数据结构并输出数据(选择最佳答案):
List
> listOflistOfStrings = new ArrayList
for (List
List
for (List
System.out.println(年代);
}
}
for (List
List
for(字符串s: l) {
System.out.println(年代);
}
}
For (int I = 0;i < listOflistOfStrings.size();我+ +){
List
For (int j = 0;j < listOflistOfStrings.size();j + +) {
System.out.println (listOfStrings.get (j));
}
}
For (int I = 0;i < listOflistOfStrings.size();我+ +){
List
For (int j = 0;j < listOfStrings.size();j + +) {
System.out.println (listOfStrings.get (j));
}
}
for (List
List
for(字符串s: l) {
System.out.println(年代);
}
}
正确答案使用ForEach循环。推荐使用ForEach循环遍历list,因为list包含迭代器。ForEach循环使用迭代器遍历List。其中一个答案使用了常规的For循环,虽然答案是正确的,但这不是最佳选择。