课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
集合是程序员在学习Java编程开发语言的时候需要重点掌握的一个编程概念,而本文我们就通过案例分析来简单了解一下,Java编程集合基础知识分享。
1、说说常见的集合有哪些?
答:主要分List、Set、Map、Queue四类,其中包含ArrayList、LinkedList、HashSet、TreeSet、HashMap
2、Comparable和Comparator接口的区别?
答:其两者的目的都是让对象可比。一种将需要比较的类可实现Comparable并重写comparaTo方法制定比较规制,如此让类本身具备可比性,无需依赖其他三方类。二种为需要比较的类再定义一个比较类,该类需要基础Comparator接口实现compara方法传入俩个需要对象的进行比较,该方法需要依赖三方类。
3、集合使用泛型有什么优点?
答:泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。
4、List、Set、Map之间的区别是什么?
答:
特性不同
List有序可重复
Set无序不可重复
MapKV形式存储,无序Key不可重复
5、为什么Map接口不继承Collection接口?
答:Map提供的是键值对映射(即Key和value的映射),而collection提供的是一组数据(并不是键值对映射)。如果map继承了collection接口,那么所有实现了map接口的类到底是用map的键值对映射数据还是用collection的一组数据呢(就我们平常所用的hashMap、hashTable、treeMap等都是键值对,所以它继承collection完全没意义),而且map如果继承了collection接口的话还违反了面向对象的接口分离原则。
6、常用的线程安全的Map有哪些?
答:HashTable,ConcurrentHashMap
7、HashMap和Hashtable有什么区别?
答:
HashMap的Key和Value都可以为Null,而HashTable的Key和Value都不能
HashMap的线程不安全效率高,HashTable的线程安全效率低
HashMap继承的是AbstractMap,HashTable继承的是Dictionary接口
8、HashMap和TreeMap怎么选?
答:存放的数据需要排序选择TreeMap,不需要排序选择HashMap,而且可以根据HashMap空间的使用,对初始容量和负载因子进行调优。
9、HashMap的数据结构是什么?
答:数组+链表/红黑树,一般称为“链表散列”
10、HashMap在JDK8中有哪些改变?
答:JDK8之前HashMap采用的数据结构为数组+链表,JDK8之后HashMap采用数组+链表/红黑树。增加红黑树来优化链表过长时带来的查询性能消耗;
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。