20200114笔记

二维数组:数组中嵌套数组
声明:
数据类型 [][] 数组名;
初始化:
动态初始化:创建数组的时候不赋值,
1、数据类型 [][] 数组名=new 数据类型[一维长度][二维长度];
2、数据类型 [][] 数组名=new 数据类型[长度][];
求一维长度:数组名.length;
求二维长度:数组名[0~一维长度-1].length;
静态初始化:创建数组对象的同时赋值
数据类型[][] 数组名 = new 数据类型[][]{{1,2,3},{2,3},{4}…};
遍历:
循环嵌套for(;😉{for(;😉{}} for(数据类型[]一维数组名:数组名){for(数据类型变量:一维数组名){}}
容器
Collection接口:容器类的父接口
List接口:有序可重复;
Set接口:无序不可重复;
无序: 存储的顺序和内部真实存放的顺序不同
List接口、Set接口都是Collection的子接口,都是存储单个数据值的容器
ArrayList:
底层实现:可变数组实现,通过数组拷贝改变数组长度实现可变
优点:查询效率高
缺点:增删效率低
应用:大量做查询,少量做增删
遍历:
1、普通for
2、for…each
3、迭代器
4、列表迭代器
泛型<类型>:强制检查容器中所有数据的数据类型,类型为引用数据类型
Vector:
与ArrayList相似,由数组实现内部存储结构
LinkedList:
底层:双向链表
优点:增删效率高
缺点:查询效率低
ArrayList与Vector的区别
Vector线程安全,效率较低,ArrayList线程不安全,效率较高,重效率轻安全
ArrayList每次扩容原容量的1.5倍,
Vector每次扩容原容量的2倍,没有ArrayList节省空间
注意:容器中只能存放引用数据类型的数据
Map 容器接口
存储的每一个数据都是键值队k-v组成
k 无序的,不可重复–>Set集合
v 无序的,可重复 -->Collection集合
key和value之间存在映射关系,根据key获取value
一个key,只能对应一个value,如果想要对应多个,可以把value存在容器中
如果存储的数据的时候,key相同的数据value会覆盖
Map的遍历方式:
1.keySet() 获取所有的key,返回一个Set集合,然后可以根据key获取value
2.values() 获取所有的value值,返回一个Collection集合
3.entrySet() 返回此映射中包含的映射关系的Set集合
HashMap
底层 : hash表实现(数组+链表+红黑树)

发布了8 篇原创文章 · 获赞 0 · 访问量 119
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览