Java集合接口

130 阅读3分钟

「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战

 前言:工作需要,每天学习一点java知识,写点笔记,记录自己✨。

基础篇

前言

  Java语言中为容纳一组对象,最适宜的选择应当是数组,而且假如容纳的是一系列基本数据类型,更是必须采用数组。但是在我们日常编程的过程中,通常并不能确切地知道最终需要多少个对象,为了解决这个问题,Java提供了四种类型的"集合类": Vector(矢量)、BitSet(位集)、Stack(堆栈)、以及Hashtable(散列表)。与拥有集合功能的其他语言相比,尽管这儿的数量显得相当少,但仍然能用它们解决数量惊人的实际问题。
  集合框架使程序处理集合数组的方法标准化。集合框架包含了一组标准的接口:List、Set、Map。
  什么叫集合: 集合就是Java API 所提供的一系列类的实例,可以用于动态存放多个对象,这时就会有人问,为什么不用数组,接下来把数组和集合放在一起对比一下。
   数组: 长度固定,遍历速度快,可以存储基本数据类型和引用数据类型;
   集合: 长度不固定,只能存储引用类型对象;
  从数组跟集合的特点我们很明显的看出,数组有一定的局限性,如果我们需要不定期的往我们的数据中存储数据,数组就满足不了我们的要求。

集合和数组的比较

  1. 数组的特点
   a.数组本质上就是一段连续的内存空间,用于记录多个类型相同的数据;
   b.数组一旦声明完毕,则内存空间固定不变;
   c.插入和删除操作不方便,可能会移动大量的元素导致效率太低;
   d.支持下标访问,可以实现随机访问;
   e.数组中的元素可以是基本数据类型,也可以使用引用数据类型。

  1. 集合的特点
   a.内存空间可以不连续,数据类型可以不相同;
   b.集合的内存空间可以动态地调整;
   c.集合的插入删除操作可以不移动大量元素;
   d.部分支持下标访问,部分不支持;
   e.集合中的元素必须是引用数据类型。

集合和数组的转换

  数组转换为集合
   Arrays.asList(数组)
  示例

int[] arr = { 1,2,3,4,5,6};//定义一个长度为5的数组
Arrays.asList(arr);
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

  集合转换为数组
   集合.toArray()
  示例

List list = new ArrayList(); //定义一个集合
list.add("a");
list.add("b");
list.toArray();
System.out.println(list.toString());