java中的集合
2021/6/5 1:21:02
本文主要是介绍java中的集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
集合
- 集合框架
- 泛型
- List集合
- ArrayList类
- Vector类
- Stack类
- LinkedList类
集合框架
泛型
泛型是把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型。
确定类型后,集合里就不能加入别的类型的变量了。
类型擦除: java代码在编译成字节码时是不包含泛型中的类型信息的,这就叫做类型擦除。
List<String> list1=new ArrayList<String>(); List<Integer> list2=new ArrayList<Integer>(); System.out.println(list1.getClass()==list2.getClass());
结果:
true
List集合
源码:
可以看出List是一个接口,继承于Collection
一些方法
List的实现类:
-
ArrayList类
定义数组来存储数据
默认初始集合容量为10
字符串最大分配大小
如果超出范围会报OutOfMemeoryError
扩容,大小变成之前的1.5倍
// ArrayList List<String> list=new ArrayList<String>(); // 加入集合 list.add("a"); list.add("b"); list.add("c"); list.add("d"); System.out.println(list); //[a, b, c, d] // 删除数据 list.remove(1); //根据索引去删 删除了"b" System.out.println(list); list.remove("d"); //删除括号里的内容 如果这个元素没在集合里 集合不变 list.remove("f"); System.out.println(list); //[a, c] // 查找数据 System.out.println(list.get(0)); //根据索引查找数据 // 更改数据 list.set(0, "hh"); System.out.println(list); //[hh, c] // 其他操作 System.out.println(list.size()); //获得集合的大小 System.out.println(list.isEmpty()); //判断集合是否为空 System.out.println(list.contains("c")); //判断集合是否包含某个元素 list.clear(); //清空集合
-
Vector类
内部是由数组实现的
一些方法
-
Stack类
继承于Vector类
-
LinkedList类
双向链表实现数据的存储
List<String> list=new LinkedList<String>(); // 加入数据 list.add("a"); list.add("b"); list.add("c"); list.add("d"); System.out.println(list); //[a, b, c, d] // 删除数据 list.remove(0); //根据索引位置删除 list.remove("c"); //删除传入的值 list.remove("gg"); //删除一个不存在的值不会报错 System.out.println(list); //[b, d] // 得到数据 System.out.println(list.get(0)); //b 根据索引找 // 改数据 list.set(0, "gdhs"); //根据索引位置改数据 System.out.println(list); //[gdhs, d] // 其他操作 // 使用contains()方法的前提是equals()方法实现过了 System.out.println(list.contains("d")); //true System.out.println(list.isEmpty()); //false 是否为空 System.out.println(list.size()); //2 list的长度 list.clear(); //清空集合
这篇关于java中的集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解