Java面试题系列之操作符以及数据结构

操作符

·操作符和操作符有什么区别?

·a=a+b与a+=b的区别?

·逻辑操作符(,

,^)与条件操作符(,

)的区别

·3*0.1==0.3将会返回什么?true还是false?

·floatf=3.4;是否正确?

·shorts1=1;s1=s1+1;有什么错?

数据结构

基础类型(Primitives)

·基础类型(Primitives)与封装类型(Wrappers)的区别在哪里

·简述九种基本数据类型的大小,以及他们的封装类

·int和Integer哪个会占用更多的内存?int和Integer有什么区别?parseInt()函数在什么时候使用到

·float和double的默认值是多少

·如何去小数四舍五入保留小数点后两位

·char型变量中能不能存贮一个中文汉字,为什么

类型转换

·怎样将bytes转换为long类型

·怎么将byte转换为String

·如何将数值型字符转换为数字

·我们能将int强制转换为byte类型的变量吗?如果该值大于byte类型的范围,将会出现什么现象

·能在不进行强制转换的情况下将一个double值赋值给long类型的变量吗

·类型向下转换是什么

数组

·如何权衡是使用无序的数组还是有序的数组

·怎么判断数组是null还是为空

·怎么打印数组?怎样打印数组中的重复元素

·Array和ArrayList有什么区别?什么时候应该使用Array而不是ArrayList

·数组和链表数据结构描述,各自的时间复杂度

·数组有没有length()这个方法?String有没有length()这个方法

队列

·队列和栈是什么,列出它们的区别

·BlockingQueue是什么

·简述ConcurrentLinkedQueueLinkedBlockingQueue的用处和不同之处。

ArrayList、Vector、LinkedList的存储性能和特性StringStringBuffer

·ByteBuffer与StringBuffer有什么区别

HashMap

·HashMap的工作原理是什么

·内部的数据结构是什么

·HashMap的table的容量如何确定?loadFactor是什么?该容量如何变化?这种变化会带来什么问题?

·HashMap实现的数据结构是什么?如何实现

·HashMap和HashTable、ConcurrentHashMap的区别

·HashMap的遍历方式及效率

·HashMap、LinkedMap、TreeMap的区别

·如何决定选用HashMap还是TreeMap

·如果HashMap的大小超过了负载因子(loadfactor)定义的容量,怎么办

·HashMap是线程安全的吗?并发下使用的Map是什么,它们内部原理分别是什么,比如存储方式、hashcode、扩容、默认容量等

HashSet

·HashSet和TreeSet有什么区别

·HashSet内部是如何工作的

·WeakHashMap是怎么工作的?

Set

·Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

·TreeMap:TreeMap是采用什么树实现的?TreeMap、HashMap、LindedHashMap的区别。TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

·TreeSet:一个已经构建好的TreeSet,怎么完成倒排序。

·EnumSet是什么

Hash算法

·Hashcode的作用

·简述一致性Hash算法

·有没有可能两个不相等的对象有相同的hashcode?当两个对象hashcode相同怎么办?如何获取值对象

·为什么在重写equals方法的时候需要重写hashCode方法?equals与hashCode的异同点在哪里

·a.hashCode()有什么用?与a.equals(b)有什么关系

·hashCode()和equals()方法的重要性体现在什么地方

·Object:Object有哪些公用方法?Object类hashcode,equals设计原则?sun为什么这么设计?Object类的概述

·如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣。

·可以在hashcode()中使用随机数字吗?

LinkedHashMap

·LinkedHashMap和PriorityQueue的区别是什么

List

·List,Set,Map三个接口,存取元素时各有什么特点

·List,Set,Map是否继承自Collection接口

·遍历一个List有哪些不同的方式

·LinkedList

1.LinkedList是单向链表还是双向链表

2.LinkedList与ArrayList有什么区别

3.描述下Java中集合(Collections),接口(Interfaces),实现(Implementations)的概念。LinkedList与ArrayList的区别是什么?

4.插入数据时,ArrayList,LinkedList,Vector谁速度较快?

·ArrayList

1.ArrayList和HashMap的默认大小是多数

2.ArrayList和LinkedList的区别,什么时候用ArrayList?

3.ArrayList和Set的区别?

4.ArrayList,LinkedList,Vector的区别

5.ArrayList是如何实现的,ArrayList和LinkedList的区别

6.ArrayList如何实现扩容

7.Array和ArrayList有何区别?什么时候更适合用Array

8.说出ArraList,Vector,LinkedList的存储性能和特性

Map

·Map,Set,List,Queue,Stack

·Map接口提供了哪些不同的集合视图

·为什么Map接口不继承Collection接口

Collections

·介绍Java中的CollectionFrameWork。集合类框架的基本接口有哪些

·Collections类是什么?Collection和Collections的区别?Collection、Map的实现

·集合类框架的最佳实践有哪些

·为什么Collection不从Cloneable和Serializable接口继承

·说出几点Java中使用Collections的最佳实践?

·Collections中遗留类(HashTable、Vector)和现有类的区别

赞赏

长按







































治白癜风长春哪家医院好
海口治疗白癜风的医院



转载请注明:http://www.92nongye.com/hxjs/hxjs/204619940.html