Java——集合
2021/11/13 20:42:01
本文主要是介绍Java——集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1、集合框架的简述
- 2、List集合
- 2.1、ArrayList实现类
- 2.2、LinkedList实现了类
- 3、Set集合
- 4、Map集合框架
- 5、[jdk1.8中文api](https://blog.csdn.net/qq_45042462/article/details/114950677)
1、集合框架的简述
- Java集合框架提供了一套性能优良、使用方便的接口和类,它们为于java.util包中。存放在集合中的数据,被称为元素(element)。
- 集合框架:
- Collection接口存储一组不唯一,无序的对象;
- List接口存储一组不唯一,有序(索引顺序)的对象;
- Set接口存储一组唯一,无序的对象;
- Map接口存储一组键值对象,提供key到value的映射;
- key 唯一 无序
- value 不唯一 无序
2、List集合
List集合的主要实现类有ArrayList和linkedList,分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类:Deque和Queue。
- List
- 特点:有序,不唯一
- ArrayList
- 在内存中分配连续的空间,实现了长度可变的数组;
- 有点:遍历元素和随机访问效率比较高;
- 缺点:添加和删除需大量移动元素效率低,按照内容查询效率低;
- LinkedList
- 采用双向链表存储方式;
- 缺点:遍历和随机访问元素效率低下;
- 优点:插入、删除元素效率比较高(前提要低效率查询)
2.1、ArrayList实现类
代码演示
package Collection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* 使用ArrayList存储多个学生分数(不唯一,索引有序) 数组中可以放基本类型,也可以放引用类型 集合中只能放引用类型,不能放基本类型 */ public class collection01 { public static void main(String[] args) { //创建一个集合对象 List l1=new ArrayList(); //添加元素 l1.add(60); //在末尾添加 l1.add(70); l1.add(80); l1.add(1,50); //指定的索引添加元素 //获取指定索引的元素 int element1=(int)l1.get(0); //遍历元素 System.out.println(l1.toString()); //for循环 for (int i = 0; i < l1.size(); i++) { int element2=(int) l1.get(i); System.out.print(element2+","); } System.out.println(); //for——each循环 for(Object o:l1){ System.out.print(o+","); } System.out.println(); //Iterator迭代器 Iterator i1= l1.iterator() ; while(i1.hasNext()){ //hasNext方法判断是否有下一个元素 int element3=(int) i1.next(); //next方法取下一个元素的值 System.out.print(element3+","); } } }
运行结果
2.2、LinkedList实现了类
代码演示
package Collection; import java.util.Iterator; import java.util.LinkedList; public class collection02 { public static void main(String[] args) { //创建一个集合对象 LinkedList l1=new LinkedList(); //这里没有使用多态,因为LinkedList有自己的方法 //添加元素 l1.add(60); //在末尾添加 l1.add(70); l1.add(80); l1.add(1,50); //指定的索引添加元素 //获取指定索引的元素 int element1=(int)l1.get(0); //遍历元素 System.out.println(l1.toString()); //for循环 for (int i = 0; i < l1.size(); i++) { int element2=(int) l1.get(i); System.out.print(element2+","); } System.out.println(); //for——each循环 for(Object o:l1){ System.out.print(o+","); } System.out.println(); //Iterator迭代器 Iterator i1= l1.iterator() ; while(i1.hasNext()){ //hasNext方法判断是否有下一个元素 int element3=(int) i1.next(); //next方法取下一个元素的值 System.out.print(element3+","); } } }
运行结果
3、Set集合
- Set
- 特点: 无序,唯一
- HashSet
- 采用Hashtable哈希表存储结构;
- 优点:添加速度快,查询速度快,删除速度快;
- 缺点:无序;
- LinkedHashSet
- 采用哈希表存储结构,同时使用链表维护次序;
- 有序(添加顺序) ;
- TreeSet
- 采用二叉树的存储结构;
- 优点:有序,查询熟读比List快(按照内容查询);
- 缺点:查询熟读没有HashSet快;
4、Map集合框架
- Map
- 特点: 存储的键值对映射关系,根据key可以找到value
- HashSet
- 采用Hashtable哈希表存储结构;
- 优点:添加速度快,查询速度快,删除速度快;
- 缺点:key无序;
- LinkedHashMap
- 采用哈希表存储结构,同时使用链表维护次序;
- 有序(添加顺序) ;
- TreeMap
- 采用二叉树的存储结构;
- 优点:有序,查询熟读比List快(按照内容查询);
- 缺点:查询熟读没有HashSet快;
5、jdk1.8中文api
这篇关于Java——集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南