例子问题
例子问题1:列表
考虑下面的代码:
myPhilosophers = 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' || s.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;我+ +){
的名字。Add (db[i % db.length]);
}
For (int I = 0;I < 12;我+ +){
如果(names.get (i) .equals(“弗雷格”)){
names.remove(我);
}
}
上面代码中的错误是什么?
该列表将耗尽机器上的所有内存。
在这两个循环中有一个无限循环。
的. get方法有bug,很可能崩溃。最好使用an迭代器.
该列表将在第二个循环中溢出它的下标。
没有bug。
该列表将在第二个循环中溢出它的下标。
在第二个循环中,当您删除其中一个项时,将使ArrayList少了一个元素。这意味着如果您尝试遍历索引11,您将在某个时候收到一个错误,因为列表将“收缩”。这就像一个数组越界错误,尽管它将是一个IndexOutOfBoundsException异常。
问题11:常用数据结构
考虑下面的代码:
公共静态类Circle {
私人双半径;
公圆(双r) {
半径= r;
}
getArea() {
返回半径*半径* Math.PI;
}
}
public static void main(String[] args) {
ArrayList
For (int I = 0;I < 10;我+ +){
圆圈。add(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();
数组列表是对象的列表,因此不能存储基本类型。如果你想在数组列表中存储基本类型,必须使用容器对象,如Double或Integer。对象引用类型List是ArrayList对象的有效引用类型。
例子问题1:列表
下列哪个是不在Java中数组类和数组列表类之间的区别?
数组既可以存储基本类型,也可以存储对象,而数组列表只能存储对象。
您必须通过调用类似于的命令手动向Array添加内容My_array [some_number] = some_value
.对于数组列表,你使用add ()
方法。
数组在创建时有固定的大小,而数组列表可以根据需要增长。
所有其他的答案选择都是Java中的数组和数组列表之间的区别。
要查找数组中的点数,需要追加长处
直到最后。要查找数组列表中的位置数,可以使用尺寸()
方法。
所有其他的答案选择都是Java中的数组和数组列表之间的区别。
在Java中,Array是一个固定长度的数据结构,而ArrayList是一个可变长度的集合类(其他集合类成员包括HashMap和HashSet)。这意味着数组一旦创建就不能改变它的大小;必须建立一个全新的阵列。数组列表可以随意改变大小。
数组可以引用这两种原语(比如int
)和类型(比如整数
)。数组列表只能引用类型,不能引用原语。通过一个叫做"Autoboxing"的方法,看起来数组列表存储了一个原语,但它真正做的是自动用它喜欢的类型屏蔽原语,这样它就可以和数组列表一起工作。
在创建Array的过程中长处
值被赋值,所以每当你追加长处
到数组的末尾,你会得到数组的长度(对于给定的数组,它永远不会改变)。对于数组列表,使用.size ()
函数,返回数组列表的长度。因为数组列表的大小是可变的,所以它是一个函数(这就是括号在末尾的原因)。
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循环,虽然答案是正确的,但它不是最好的选择。