集合框架
2021/7/9 6:09:11
本文主要是介绍集合框架,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
集合框架
ArrayList
- ArrayList 存储原理是一个object类型的数据,通过Arrays.copyOf对数组进行扩容和收缩
理解:
集合没有固定长度:
常用方法
1. 集合和数组的相互转换
- ArrayList 存储原理是一个object类型的数据,通过Arrays.copyOf对数组进行扩容和收缩
- toArray()方法是List接口中提供的方法,用来实现List对象转换为数组对象的功能。
public class Hello { /* * ArrayList 存储原理是一个object类型的数据,通过Arrays.copyOf对数组进行扩容和收缩 * */ public static void main(String[] args) { fun2(); } private static void fun2() { //2.数字--->集合 //Arrays.asList() 将数组转化成List集合的方法 Object[] objs =new Object[] {"hello","hello2"}; List list = Arrays.asList(objs); System.out.println(list); } private static void fun1() { //1.集合--->数组 ArrayList list =new ArrayList(); list.add(145655); list.add("大家好"); System.out.println(list); //无参 Object[] o = list.toArray(); //toArray()方法是List接口中提供的方法,用来实现List对象转换为数组对象的功能。 //List.toArray() 有参数时 仅仅利用数组长度 Object[] objects = new Object[10]; Object[] objs = list.toArray(objects); System.out.println(Arrays.toString(objs)); } }
2. 遍历集合
public class Hello2 { public static void main(String[] args) { ArrayList list=new ArrayList<>(); list.add("hello"); list.add("hello2"); System.out.println(list); //普通for循环 适用于有下标的有序集合 for (int i = 0; i <list.size() ; i++) { System.out.println(list.get(i)); } //增强for循环 和 迭代器原理一致的 适用于所有集合 for(Object o:list){ System.out.println(o); } //迭代器 iterator通常与while结合 Iterator it = list.iterator(); while(it.hasNext()){ //it.hsNext:是否有元素 有就取出来 System.out.println(it.hasNext()); } } }
LinkedList
存储原理是一个链表,在元素的前后分别有一个前置结点和后置结点,用于连接集合中的上一个元素和下一个元素,依次“手拉手”,构成一条链式数据的集合。
- 特有的方法
public class Hello1 { public static void main(String[] args) { LinkedList list = new LinkedList(); list.add("985"); list.add("共产党万岁"); list.addFirst(100); //将指定元素插入当前集合头部 list.addLast(77); //将指定元素插入当前集合尾部 System.out.println(list.getFirst()); //获得当前集合的首元素 System.out.println(list.getLast()); //获得当前集合的最后一个元素 System.out.println(list.removeFirst());//移除并返回当前集合的首元素 System.out.println(list.removeLast()); //移除并返回当前集合的最后一个元素 System.out.println(list); } }
LinkedList的addFirst方法源码分析
Node结点分析
链表结构分析
Set集合
- Se接口特点:
存储一组唯一(不允许出现重复的元素),无序(没有index下标)的对象,HashSet是Set接口常用的实现类。
public class Hello { public static void main(String[] args) { /* 存储一组唯一(不允许出现重复的元素), 无序(没有index下标)的对象,HashSet是Set接口常用的实现类。 */ HashSet set = new HashSet(); set.add("共产党万岁"); set.add(6); set.add(6); set.addAll(new HashSet()); set.addAll(new LinkedList()); set.remove(6); System.out.println(set); System.out.println(set.size()); //去掉重复 } }
这篇关于集合框架的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程