java乱七八糟的笔记和一些面试题

数组:一组相同类型的数据(容器)

数组的特征:

1.数组的空间是连续排放的

2.数组每一个空间都有对应的下标值

3.数组的长度一旦指定则无法改变

定义数组:

方式一:数组类型[ ] 数组名 = new 数组类型[长度];(推荐使用)

方式二:数组类型 数组名[ ] = new 数组类型[长度];

方式三:数组类型[ ] 数组名 = new 数组类型[]{值1,值2,值3...};

方式四:数组类型[ ] 数组名 = {值1,值2,值3...};

/、数组中如果不存放数据时会有默认值: 

整数的默认值:0,

小数的默认值:0.0,

布尔类型的默认值是false        //

char类型的默认值\u0000,

引用数据类型默认值都是null

二维数组:由多个一维数组组成

定义二维数组的格式:数组类型[ ][ ] 数组名 = new 数组类型[行数][列数];

访问二维数组的元素需要两个下标值

定义二维数组的格式:数组类型[ ][ ] 数组名 = {{值1,值2,值3...},{值4,值5,值6...}...};


面试题

ArrayList和Vector的区别是:

  1. ArrayList出现在jdk1.2版本,Vector出现在jdk1.0版本
  2. ArrayList效率高而Vector效率低
  3. ArrayList线程不安全,而Vector线程安全
  4. ArrayList扩容是原来的1.5倍,Vector是原来的2倍,虽然两个底层都是数组,但是ArrayList比Vector省空间

5.HashSet底层是一个HashMap,初始容量是16,负载因子是0.75大于等于75%时开始扩容
//或者简单便利(HashSet底层不是数组)
//历遍Set集合只能使用增强for循环和迭代器

  LinkedHashSet的特征:有序,不重复


面试题:HashTable和HashMap的区别:

  1. 父类不同,HashTable继承了Dictionary,HashMap继承了AbstractMap
  2. 版本不同,HashTable出现于jdk版本1.0,HashMap出现于jdk版本1.2
  3. 对null的支持不同,HashMap键值对可以为null,HashTable键值都不可以
  4. 效率不同,HashTable效率较低,HashMap效率较高
  5. 线程安全不同:HashTable线程安全,HashMap线程不安全
  6. 初始容量不同,HashTable初始容量是11,HashMap初始容量是16
  7. 扩容速度不同:HashMap是原来的2倍,Ha是Table是原来的2n+1倍
  8. HashCode重写方式不同:HashTable计算复杂,HashMap计算简答

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值