知名公司java面试题

qq1059458376 2011-08-01 09:46:24
知名公司java面试题.pdf
1.(集合框架)下面都属于线程安全的类是(BD )。

线程同步就是线程安全的

A.ArrayList//不同步

B.Vector//同步,其余功能与ArrayList一样

C.HashMap//不同步

D.HashtableA.//同步,其余功能和Hashtable一样

2.(集合框架)ArrayList的初始化内容如下:

ArrayList list = new ArrayList();

list.add("java");

list.add("aaa");

list.add("java");

list.add("java");

list.add("bbb");

下面可以删除list中所有的“java”的代码是:(A)

A.for(int i = list.size() - 1; i >= 0; i--) {//规定是逆序删除,每删除一个,会重新排序

if ("java".equals(list.get(i))) {

list.remove(i);

}

}

B.for(int i = 0; i < list.size(); i++) {

if ("java".equals(list.get(i))) {

list.remove(i);

}

}

C.list.remove("java");//只能删除第一个

D.list.removeAll("java");//括号中的参数是集合的类型

3.下面的代码用于输出字符数组ch中每个字符出现的次数,应该填入的代码是(D)

public static void main(String[] args) {

char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' };

HashMap map = new HashMap();

for (int i = 0; i < ch.length; i++) {

< 填入代码 >

}

System.out.println(map);

}

//map中没有contains方法,这个方法只有List和Set中有

A.if(map.contains(ch[i])) {

map.put(ch[i], map.get(ch[i]) + 1);

} else {

map.put(ch[i], 1);

}

B.if(map.contains(ch[i])) {

map.put(ch[i], (Integer) map.get(ch[i]) + 1);

} else {

map.put(ch[i], 1);

}

C.if(map.containsKey(ch[i])) {

map.put(ch[i], (int) map.get(ch[i]) + 1);

} else {

map.put(ch[i], 1);

}

D.if(map.containsKey(ch[i])) {

map.put(ch[i], (Integer) map.get(ch[i]) + 1);

} else {

map.put(ch[i], 1);

}

4.(集合框架) 题示代码的功能为:对于一个存放Integer对象的ArrayList,内容为:{1,2,3 },对其进行循环遍历:

Listlist=new ArrayList();

list.add(1);

list.add(2);

list.add(3);

for(inti=0;i<《插入代码1》;i++){

Integer obj=(Integer)《插入代码2》;

System.out.println(obj);

}

那么《插入代码1》和《插入代码2》处的代码分别为(C)

A.list.getObject(i) list.length()

B.list.length() list.getObject(i) //集合没有length,只要数组才有,集合是size()

C.list.size() list.get(i)

D.list.get(i) list.size()

5.题示代码的功能为:对于一个存放Person对象的ArrayList进行循环遍历,并取到每个Person对象的idCard和userName。

publicclass Person{

private Long idCard;

pirvate String userName;

//一下是getter和setter方法

……

}

List<Person>list=new ArrayList<Person>();

Personp1=new Person();

p1.setIdCard(newLong(1001));

p1.setUserName(“terry”);

Personp2=new Person();

p2.setIdCard(newLong(1002));

p2.setUserName(“tom”);

list.add(p1);

list.add(p2);

for(《插入代码》){

System.out.println(person.getIdCard()+”:”+person.getUserName());

}

那么《插入代码》处的代码为(D)

A.List list:person

B.List list:Person //遍历list中的Person

C.Person person:List

D.Person person:list//在list中遍历person

6.已知类Foo的定义如下:

public class Foo {

int value;

Foo(int value) {

this.value = value;

}

public boolean equals(Object obj) {

if (obj instanceof Foo) {

Foo foo = (Foo) obj;

return value == foo.value;

} else {

return false;

}

}

运行下面程序段:

ArrayList list = new ArrayList();

HashSet set = new HashSet();

list.add(new Foo(1));

set.add(new Foo(1));

System.out.println(《插入代码》);

如果控制台输出的结果是true,false,那么《插入代码》处应填入的代码是(C)

A.list.contains(new Foo(1)) + ","+ set.contains(new Foo(1))

B.set.contains(new Foo(1)) + ","+ list.contains(new Foo(1))

C.new Foo(1).equals (new Foo(1)) + ","+ list.contains(new Foo(1))

D.new Foo(1).equals (new Foo(1)) + ","+ set.contains(new Foo(1))//没有重写hashCode()方法

7.(集合框架)题目代码的功能是:采用Iterator进行循环遍历到集合中的每一个元素,并将其移除,《插入代码》处应填入的代码是(A)

ArrayListlist = new ArrayList();

list.add("java");

list.add("php");

list.add(".net");

《插入代码》

A.Iterator it=list.iterator();

while(it.hasNext()){

it.next();

it.remove();

}

B.Iterator it=list.iterator();

while(it.hasNext()){

it.remove();

}

C.Iterator it=list.iterator();

while(it. hasNext()){

Object obj=it.next();

list.remove(obj);

}

D.Iterator it=list.iterator();

while(it.hasNext()){

list.remove();

}

8.题示代码的功能为:循环遍历输出Map当中的每一个元素

Map<String,Integer>map=new HashMap<String,Integer>();

map.put(“jessica”,100);

map.put(“tom”,200);

map.put(“den”,300);

Set《插入代码1》 set =《插入代码2》;(D)

for(《插入代码3》 per : set) {

System.out.println(per.getKey() +":" + per.getValue());

}

A.

<Entry>

map.keySet()

Entry

B.

<Entry>

map.entrySet()

Entry

C.

<Map.Entry<String, Integer>>

map.keySet()

Map.Entry<String,Integer>

D.

<Map.Entry<String, Integer>>

map.entrySet()

Map.Entry<String,Integer>

9.请看一下代码:(A)

Map<String,Double>map=new HashMap<String,Double>();

map.put(“tom”,123.6);

map.put(“jim”,234.5);

map.put(“terry”,45.3);

《插入代码》

《插入代码》处要实现的功能是把key为“jim”的value值在原有数字的基础上添加100

A.map.put(“jim”,map.get(“jim”)+100);

B.map.set(“jim”,map.get(“jim”)+100);

C.map.put(“jim”,234.5);

D.map.set(“jim”,234.5);

10.下列代码的运行结果是(“_”表示空白):(B)

publicclass Base{

private void test() {

String aStr = "_One_";

String bStr = aStr;//改变时候创建了新的对象,所以以前的没变化

bStr =aStr.trim();

System.out.println("[" + aStr +"," + bStr + "]");

}

static public void main(String[] a) {

new Base().test();

}

}

A.[One,_One_]

B.[_One_,One]

C.[One,One]

D.[_One_,_One_]

本文来自:安卓航班网整理www.apkway.com
...全文
101 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ch_984326013 2011-08-01
  • 打赏
  • 举报
回复
好球!谢谢分享!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧