数组
1、什么是数组?
存储有限个类型相同数据的集合(数组可以是类型数组,也可以是对象数组)
2、数组的表示方法有哪些?
-
一维数组
- 声明方式一:数据类型[] 数组名称 eg:int[] a1={1,2,3} int[] a2=new int[10]
- 声明方式二:数组类型 数组名称[] eg:int a1[]
-
多维数据
- 声明方式一:eg: int[][] a={{1},{1,2}.{1,2,3}} int[][] a=new int[][]
- 声明方式二:eg:int a[][]
集合
1、什么是集合?
存储对象的容器,将容器添加标签,使其只能存储某种对象类型。
2、集合都有那些类型?
-
List(继承collection的有序可重复的集合)
-
ArrayList
- 底层动态数组,查询快,增删慢(同数组),线程不安全,效率高。
-
LinkedList:底层是链接,查询慢,增删快,线程不安全,效率高。
-
Vector:查询快,增删慢,线程安全,效率低。
-
-
Set(继承collection的无序不可重复的集合)
-
HashSet
- 1.调用hashCode()查看有相同的哈希值,2.调用equals()与放入新元素比较,去重(底层哈希算法实现,效率高)
-
TreeSet:元素自动升序排列(底层二叉树实现)
-
-
map接口(键值对映射,键唯一,值不唯一)
-
HashMap
- 解释:底层是哈希算发,针对键
-
TreeMap:底层是二叉树算法,针对键
-
-
Collections工具类
- 针对集合进行操作的工具类
3、集合与数组的区别是什么?
-
长度区别
- 数组固定
- 集合可变
-
内容区别
- 数组可以是类型数组,也可以是对象数组
- 集合是引用数据类型
-
元素内容
- 数组只能存储同一种类型
- 集合可以存储不同类型