java笔试题解答

1.一个栈的输入序列为54321,则下列序列中不可能是栈的输出序列的是(C

A.5 4 1 2 3                B.2 3 4 1 5

C.1 5 4 2 3                 D.2 3 1 4 5 

解答:

栈是后进先出。

栈的限制是仅允许在表的一端进行插入和删除运算,为栈顶,向一个栈插入新元素,称为入栈,把新元素放到栈顶元素的上面,从一个栈删除元素,又称作退栈,是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

所以:

A答案可以是入栈5,出栈5,入栈4,出栈4,入栈3,2,1,出栈1,2,3

B答案可以是入栈5,4,3,2,出栈2,3,4,入栈1,出栈1,5

D答案可以是入栈5,4,3,2,出栈2,3,入栈1,出栈1,4,5


2.如下集合哪些集合是线程安全的?(B

A. HashMap                B. HashTable

C. HashSet                   D. TreeSet

3.设x为int型变量,则执行一下语句段后,x的值为(B

    x=10;

    x+=x-=x-x++;

A.30    B.20    C.40    D.10

解答:从右向左执行;

x-x++等价于x-x结果为0;

x-=0;等价于x=x+0;结果为10;

x+=10;等价于x=x+10;结果为20;




猜你喜欢

转载自blog.csdn.net/third_/article/details/79559868