专栏首页Java小白成长之路第四次文章:其他容器类

第四次文章:其他容器类

各位小伙伴儿大家好,临近年关,先给大家拜个早年,祝大家新年快乐!今天先分享一碗鸡汤:代码学习绝对不是一条坦途,人生奋斗的向上之路也异常曲折,但没有关系,当你回望之时,我依然在此为你守候。

言归正传,进入本周总结:

一、一个古老的接口Enumeration

jdk1.5之前的版本常用,jdk1.5以后,使用的是迭代器Iterator进行代替。以后在维护系统时,很多代码是jdk1.5之前的代码,所以了解这个接口主要是为了熟悉此接口,避免以后的运维过程中不认识此接口。

主要是两个方法

1、判断hasMoreElements(与Iterator中的hasNext相同)

2、获取nextElement()(与Iterator中的Next相同)

使用方法如下:

import java.util.Enumeration;
import java.util.Vector;
public class Demo01 {
    public static void main(String[] args) {
        Vector<String> v = new Vector<String>();
        v.add("www.baidu.com");
        v.add("www.google.com");
        v.add("www.sina.com");
        Enumeration<String> ele =v.elements();
        while(ele.hasMoreElements()) {
            System.out.println(ele.nextElement());
        }       
    }
}

二、Hashtable与HashMap的区别(面试题

1、Hashtable线程安全,同步,效率相对低下

HashMap线程不安全,非同步,效率相对较高

2、父类:

Hashtable继承的父类是Dictionary

HashMap继承的父类是AbstractMap

3、null:

Hashtable 键与值不能为null

HashMap键最多一个null,值可多个null

三、Properties类:

Hashtable中主要使用一个子类Properities(主要用于资源配置文件的读写)

根据类的根路径进行读取资源配置文件的方法:

方法1:类.class.getResourceAsStream("/")

方法2:Thread.currentThread().getContextClassLoader().getResourceAsStream(“”)

四、引用类型(面试题

1.强引用StrongReference:引用指向对象,gc(Garbage Collection)运行时不回收

2.软引用SoftReference:gc运行时可能回收(当jvm的内存不够的时候会被回收)

3.弱引用WeakenReference:gc运行时立即回收

4.强引用PhantomReference:类似于无引用,主要跟踪对象被回收的状态,不能单独使用,必须与引用队列联合使用

五、三个Map接口实现类

1.WeakHashMap:键为弱引用

2.IdentityHashMap:键比较地址去重

3.EnumMap:枚举map,要求键为枚举的值

以上就是本周的学习总结了!感谢各位小伙伴儿的支持,文章中存在的任何问题都可以直接留言的哈!比如语言描述哪里需要进一步精简,文章排版哪里可以改进,字体的大小是否舒适等等,都可以直接提出来的!谢谢大家!祝各位新年快乐!

本文分享自微信公众号 - Java小白成长之路(Java_xiaobai),作者:鹏程万里

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第14次文章:网络编程完善+注解

    小白这周把网络编程最后的一部分给结束了,然后接触了注解的内容。开始下一阶段的内容学习。fighting!!!

    鹏-程-万-里
  • 刷题第4篇:二叉树遍历

    在这道题目中,三种遍历方法如果使用递归来进行操作都将会是十分便捷的一种方法。主要是写一个辅助函数,然后按照不同的遍历方法,在适当的位置加入根元素即可。

    鹏-程-万-里
  • 第51次文章:JQuery高级

    上周我们聊了一下jQuery的基础部分,这周我们把jQuery的高级部分学习一下吧!同时也预祝各位小伙伴新年快乐!

    鹏-程-万-里
  • swift4.0语法杂记(精简版)

    一、swift简史 1、介绍 swift是苹果公司于2014年推出用于撰写OS和iOS应用程序的语言。它由苹果开发者工具部门总监“克里斯.拉特纳”在2010年...

    谦谦君子修罗刀
  • Android 检查应用是否有root权限

    子勰
  • Flink数据源拆解分析(WikipediaEditsSource)

    Wikipedia Edit Stream是Flink官网上的经典demo,功能是实时处理来自维基百科的消息,消息的内容是当前每个用户对维基内容的操作,地址是:...

    程序员欣宸
  • InstantRun从2.0到3.0,历史解毒

    Instant Run已经出来3年了,为什么现在会想写这篇文章。从Instant Run 发布就已经有文章做了详细的介绍,但主要分为两类:一类是讲其主要实现原理...

    静默加载
  • Python学习:作用域

    变量名引用分为三个作用域进行查找:首先是本地,之后是函数内(如果有的话),之后全局,最后是内置。L->E->G->B

    py3study
  • Flink实战:消费Wikipedia实时消息

    https://blog.csdn.net/boling_cavalry/article/details/85205622

    程序员欣宸
  • Swift 4 新特性

    BY

扫码关注云+社区

领取腾讯云代金券