java基础篇
1. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。 Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作 2. List、Set、Map 之间的区别是什么?
3. HashMap 和 Hashtable 有什么区别?hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。 hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。 hashMap允许空键值,而hashTable不允许。 4. 如何决定使用 HashMap 还是 TreeMap?
对于在Map中插入、删除和定位元素这类操作,HashMap是最好的选择。然而,假如你需要对一个有序的key集合进行遍历,TreeMap是更好的选择。基于你的collection的大小,也许向HashMap中添加元素会更快,将map换为TreeMap进行有序key的遍历。 5. 说一下 HashMap 的实现原理?
HashMap的数据结构:在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个"链表散列"的数据结构,即数组和链表的结合体。
当我们往Hashmap中put元素时,首先根据key的hashcode重新计算hash值,根绝hash值得到这个元素在数组中的位置(下标),如果该数组在该位置上已经存放了其他元素,那么在这个位置上的元素将以链表的形式存放.需要注意jdk1.7加入元素是头插法,jdk1.8是尾插法.头插法可能在多线程环境下导致链表循环引用.然后当你再次访问这个此数组下标位置,就会cpu100%问题.
需要注意Jdk 1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn) 6. 说一下 HashSet 的实现原理?
HashSet底层由HashMap实现
HashSet的值存放于HashMap的key上 7. ArrayList 和 LinkedList 的区别是什么?
最明显的区别是 ArrrayList底层的数据结构是数组,支持随机访问,而 LinkedList 的底层数据结构是双向循环链表,不支持随机访问。使用下标访问一个元素,ArrayList 的时间复杂度是 O(1),而 LinkedList 是 O(n)。
状态不稳,受到质疑,C罗与曼联的再度合作为何没能成功?C罗已经不是那个当初教练说什么是什么的人了,之所以曼联现在这样,就是因为索尔斯克亚所有的安排都得迁就他!人员安排,都得配合他一个人,之前索尔斯克亚也没这么干过!就说一个事,作为一个
湘西的花垣县有什么地方适合玩耍?花垣县,隶属于湖南省湘西土家族苗族自治州,位于湖南省西部,地处湘黔渝交界处,因此有一脚踏三省湘楚西南门户之称。花垣县旅游资源丰富,有10万年前古人类活动遗址乾嘉苗民起义古战场遗址沈
有哪些男士衣服很潮价格又不贵的牌子?AcneStudiosAcne翻译成中文就是痤疮的意思,其品牌精髓就是低调的放荡不羁。Acne的服装风格更偏向中性OVERSIZE,模特也是一个比一个高冷,完全不食人间烟火的模样(
蜂蜜的用处有哪些?我是四川遂宁农村人!等两个月清明节是百花盛开时槐花柠檬花橘花等会开花结果它们本身具有药用价值!蜜有药的功效作用吗?下面谈谈各种花的蜜绝对保持了它的元素,我们都会发现蜂蜜的颜色和花种
湖北的藕汤为什么比别的地方都要好喝?在外地的湖北伢们聚在一起聊天,不知是谁说起好想喝妈妈煨的排骨藕汤啊!一句话就能勾起大家浓浓的思乡之情。湖北的妈妈们都爱煲排骨藕汤给孩子喝,味道好还能补钙。排骨藕汤是湖北人秋冬季最爱
有哪些被低估的工业强国?说到工业国家,我们首先想到的是西方。工业革命起源于西方,成长发展也在西方,所以总体上来说西方国家的工业底子是比较强大。其中以德国英国法国等为代表的西方国家工业基础十分强大。关于工业
一个人去海南旅游,该如何规划行程?一个人去海南,别想那么多,直奔三亚就OK了,因为海南的代表性景点,绝大部分集中在三亚及其周边。到三亚,最方便就是住在大东海周边,宾馆酒店海景客栈应有尽有,吃住行游都比较方便,这个季
有没有性能和拍照都不错的vivo手机?有的,刚好我才买的vivox70pro,人像和夜景目前排第一吧,也是vivo目前最高的一部拍照手机!那肯定选择今年的新款VIVOx70pro了作为今年VIVO的旗舰拍照机型,和卡尔
现在还有必要学习PLC编程吗?看你们评论的怎么热闹,我也说两句!如果你是干了几年的电工,或者说你是电工,感觉自己思路清晰,头脑敏捷的可以学习plc编程,毕竟也算一个提升,如果你要转行,另当别论!如果你是做电气,
体重减下来了,如何让腰腹变紧?体重减下来了,想要让腰腹变的紧致,肯定要针对腰腹进行专项训练,也就是说要进行腹肌训练,这样腹肌才会有型,腰腹才会紧致!但是体重减下来,并不代表就达到了可以练腹肌的标准。因为很多人体
小孩湿疹会自然好吗?注意什么?你好,很高兴回答你的问题。婴儿湿疹分为三个类型湿烂型干燥型皮脂溢出型。湿烂型多见于较胖的婴儿,红色皮疹间有水疱和红斑,常伴皮肤组织肿胀,痒搔抓后有黄色浆液渗出或出血,容易继发皮肤感