1、ArrayList的初始化长度为多少?
简单回答:10
详细回答:
    JDK1.6:初始化为10
    JDK1.7:初始化为一个空数组    EMPTY_ELEMENTDATA
    JDK1.8:初始化为一个空数组  DEFAULTCAPACITY_EMPTY_ELEMENTDATA

2、HashMap的内部存储结构是什么?
JDK1.8之前:数组+链表
JDK1.8之后:数组+链表/红黑树

3、HashMap的映射关系(键值对)类型是什么?
简单回答:Map.Entry类型
详细回答:
    JDK1.8之前:HashMap.Entry implements Map.Entry
    JDK1.8之后:HashMap.Node(链表),HashMap.TreeNode(红黑树)  它俩都实现了Map.Entry接口   
    
4、HashMap的几个常量值是多少,什么意思?
DEFAULT_INITIAL_CAPACITY:默认的初始化容量 16
DEFAULT_LOAD_FACTOR:默认加载因子 0.75
    问?这个加载因子不用默认的0.75,如果自己设置为0.9和0.1什么区别?
    加载因子越大,数组越满才能扩容,那么就可能会出现链表或树的结点比较多
    加载因子越小,数组扩容会很频繁    
TREEIFY_THRESHOLD:从链表到树化的结点个数阈值,默认8
UNTREEIFY_THRESHOLD:从树到链表的阈值,默认6
MIN_TREEIFY_CAPACITY:从链表到树化的数组长度的最小容量,默认64

几个变量是存储什么的?
threshold:阈值,控制扩容的,当size >= threshold && table[index]!=null 就会扩容,threshold = table.length * loadFactor
table:数组名
modCount:当前集合被修改的次数
loadFactor:加载因子,默认取DEFAULT_LOAD_FACTOR:默认加载因子,0.75

5、手动编写代码,如果是使用泛型类请正确指定泛型
(1)声明省份类型Province,有省份id,名称name,省略构造器,get/set,toString,其他方法不能省略

public class Province implements Comparable<Province>{
    private int pid;
    private String name;
    
    public int compareTo(Province p){
        return this.pid - p.pid;
    }
}
(2)声明城市类型City,有城市id,名称name,省略构造器,get/set,toString

public class City {
    private int cid;
    private String name;
    public int getCid() {
        return cid;
    }
(3)把如下信息存储到TreeMap中,按照省份id排序
1:北京市
    1:北京市
2:海南省
    2:海口市
    3:三亚市
3:天津市
    4:天津市

import java.util.ArrayList;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;

public class TestTreeMap {
public static void main(String[] args) {
    TreeMap<Province, ArrayList<City>> map = new TreeMap<>();
    ArrayList<City> bj = new ArrayList<>();
    bj.add(new City(1,"北京市"));
    ArrayList<City> tj = new ArrayList<>();
    tj.add(new City(4,"天津市"));
    ArrayList<City> hn = new ArrayList<>();
    hn.add(new City(2,"海口市"));
    hn.add(new City(3,"三亚市"));
    map.put(new Province(1,"北京市"),bj);
    map.put(new Province(2,"海南省"),hn);
    map.put(new Province(3,"天津市"),tj);
    Set<Entry<Province, ArrayList<City>>> entrySet=map.entrySet();
    for (Entry<Province, ArrayList<City>> entry : entrySet) {
        System.out.println(entry.getKey());
        ArrayList<City> value = entry.getValue();
        for (City city : value) {
            System.out.println("\t"+city);
        }
    }
}
}

注意:需要把省略的构造器toString getset设置完成。

java桑硅谷 day23 晨考相关推荐

  1. Java尚硅谷核心知识

    Java尚硅谷核心知识 一.Java基础部分 1.1 Java语言的主要特性 1.2 Java程序运行机制及运行过程 1.2.1Java两种核心机制 1.3Java语言的环境搭建 1.3.1 为什么要 ...

  2. 《阿里巴巴编码规范(JAVA)》学习认证考后感

    image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...

  3. 软考程序员Java答题速成_软考程序员考试试题解答方法与技巧

    如果说程序员考试解上午题无技巧可言的话,那么解下午题就是70%的实力加30%的方法与技巧,若运用到极致的话,会是"四两拨千斤".下面就来看一下程序员下午题解题步骤和解题技巧,以供考 ...

  4. 计算机考研要考java吗_计算机二级考JAVA还是C?

    前几天有学生问我,考计算机二级(全国计算机等级考试,National Computer Rank Examination,简称NCRE),是考C还是考JAVA.原因是他们上学期学习了C语言,这学期开始 ...

  5. 软考程序员Java答题速成_软考程序员考试下午题解题技巧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如果说程序员考试解上午题无技巧可言的话,那么解下午题就是70%的实力加30%的方法与技巧,若运用到极致的话,会是"四两拨千斤".很多考 ...

  6. 国内软考有用到JAVA的吗_软考一般有几个科目?含金量如何?

    众所周知,软考是计算机行业内比较受欢迎的考试,软考分为初级.中级.和高级,不同级别的软考,对考试和考试科目也都是不同的,因此对于软考一般有几个科目?其实软考的范围比较广,报考数据结构,算法,多媒体,j ...

  7. Java实训-9月月考

    单选题 1.下列程序运行后,输出结果是( ) public class Point { private int x, y;Point (int x, int y) {this.x = x;this.y ...

  8. java模拟器吧_无忧考吧计算机二级JAVA模拟器

    无忧考吧二级JAVA超级模拟软件是一款可以帮助您学习Java的软件,您可以在软件上练习Java实际操作,让您快速了解Java开发的方案,从而让您在考试的时候轻松解决试卷上出现的题目. 软件功能 详尽解 ...

  9. Java项目硅谷课堂学习笔记-P10-后台系统公众号部分

    P10-后台系统公众号部分 1.公众号菜单管理 1.1创建模块service_wechat 1.2引入依赖 1.3生成菜单相关代码 1.4创建启动类和配置文件 1.4.1启动类 1.4.2配置文件 1 ...

最新文章

  1. 怎么做 空间杜宾模型_企业营销怎么做?深度解析STP模型及案例,一步成高手...
  2. 运动检测(前景检测)之(二)混合高斯模型GMM
  3. Mybatis-Helloword
  4. 我国物流业的国际比较及发展措施 (1)
  5. 剑指offer之26-30题解
  6. 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
  7. 利用windows 2003 实现×××服务器的组建与架构(一) 移动用户到站点之间的×××...
  8. mysql指南_MySQL入门指南
  9. java第四次上机作业
  10. Spring Boot application.yml文件语法
  11. 查看总耗时_讲真,我为什么劝你别总加班。
  12. 0可用,0已用 U盘问题 重解~
  13. python制作自动交易软件-Python语言之一位程序员写了一个自动化交易程序,躺着玩,两年就挣了两百万!...
  14. Android下实现Google街景
  15. 用计算机能算重量加权平均长度吗,利用计算器求平均数检测试题与*
  16. 阿里云服务器迁移内容
  17. 360wifi驱动 linux ap,360wifi驱动
  18. 简明现代魔法 php,给PHP初学者的一些建议
  19. matlab 关键路径函数,用线性规划建模(确定参数)关键路径法
  20. 从视频中提取光流 UCF-101

热门文章

  1. Java获取指定Redis的key_Redis获取某个前缀的key脚本实例
  2. vscode如何连接新设备_新设备进口报关公司如何选择
  3. shell编程实例(三)
  4. 网站互点工具_如何利用关键词互点互刷提升网站关键词排名?
  5. 【Pygame小游戏】史上最全:《唐诗三百首》合集,每一首都是精华,果断收藏~(学诗+锻炼记忆+Python诗句填空小程序上线啦)
  6. matlab画西瓜程序,科学吃西瓜
  7. 渗透测试服务 甲方公司OA网站系统漏洞测试
  8. 重磅!ChatGPT 网页版来啦!响应速度超快!
  9. PR规则下的网络渗流模型
  10. win10切换到纯英文输入法