前言:
大家好,我是良辰呀🏫🏫🏫,从今天开始,我们一起来探索数据结构的知识海洋。期待与大家结伴同行,gogogo。🍬🍬🍬
🧑个人主页:良辰针不戳
📖所属专栏:java数据结构
🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。
💦期待大家三连,关注,点赞,收藏。
💌作者能力有限,可能也会出错,欢迎大家指正。
💞愿与君为伴,共探Java汪洋大海。
目录
- 1、初识集合
- 1.1 简说集合优点
- 1.2 携带泛型的集合
- 1.3 集合中泛型只能限制一种类型?
- 2、集合框架
- 2.1 Collection
- 2.2 Map
- 2.3 简要说明集合框架
1、初识集合
1.1 简说集合优点
集合中可以添加元素,有的人可能会感到疑惑,数组不是也可以添加元素嘛?为什么非要搞的那么麻烦,java官方闲的没事嘛?哈哈,有因必有果,数组不能轻易改变数组长度,这就是一个简单的集合使用原因,可能言语有点朴素,我们来通过代码简单认识一下集合。
public static void main(String[] args) {
// 创建集合
ArrayList list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
//打印集合
System.out.println(list1);
}
看了上面的代码,大家可能又会问,难道集合里面什么都可以放嘛,如果集合里面啥都放的话,那自然就乱套了,虽然代码不会报错,但是你什么类型的数据都放进去的话自然会导致不必要的麻烦。
1.2 携带泛型的集合
其实呢,泛型中的东西也很广,但是我们学习java涉及一点就可以了,大家只要记住泛型在集合中就是控制集合中的类型。
public static void main(String[] args) {
// 创建集合
ArrayList<Integer> list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
//打印集合
System.out.println(list1);
}
下面的集合被泛型限制后,只能放整型了,但是需要注意的是集合中的泛型放的是引用类型,Integer就是int的包装类。
1.3 集合中泛型只能限制一种类型?
根据集合的类型而定,看底层原理,很多表的集合具有一一对应关系,简单举个代码例子。
public static void main(String[] args) {
HashMap<String,Integer> hashMap = new HashMap<>();
}
2、集合框架
集合框架也被称为容器,是定义在 java.util 包下的一组接口 interfaces和其实现类 classes。学着学着大家就会觉得集合框架竟然是如此强大,后面我们会学到栈,队列等数据结构,我们直接调用框架就可以了,别着急,知识是慢慢积累的过程。
- 使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码。
- 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景。
注意:
- java中有许多集合,我们不可能都去学习,我们只要把常见的记住了,会熟练使用,然后会查阅java文档,见到陌生的查阅文档之后会使用即可。
- java中集合主要分为Collection 和 Map。它们是 Java 集合的根接口,这两个接口又包含了一些子接口或实现类。
- 由于接口和抽象类不能直接实例化,需要借助它的子类,因此呢,大家可以看到许多集合实例化关键字前后不对应,后面是它的子类,通过子类实现接口。
2.1 Collection
该接口是 List、Set 和 Queue 的父接口,是存放一组单值的最大接口。
下面的代码中两个集合实质是相同的,一个通过父接口实例化,一个通过子接口实例化。
Collection里面有很多方法,但是大家通过下面的图可以看到,Collection又继承了Iterable,集合内容好多有相似的地方,本篇文章就不具体列举了,后面在学习数据结构我们还会详解接触这些集合框架,“细水长流”,哈哈。
2.2 Map
Map的意思是表,下图就是一种哈希表,本章只简单了解,表具有一一对应关系,后序还会详细介绍。
下图是一些表的方法,太多了没截全。
2.3 简要说明集合框架
这篇文章主要带大家接触集合框架,认识几个常见的框架,大概了解集合框架是什么,我在网上找了几个集合框架作用图,供大家参考学习。
1. 集合接口的作用
2. 集合实现类的作用
后序:
今天的java集合框架小知识就分享到这里了,希望这些小小的知识可以帮助到大家,我会不断更新东西,期待与大家结伴,一起抵达海的彼岸。🚀🚀🚀