Java菜鸟教程集合:搞定存储和操作
目录
[Java存储和操作的基础概念](Problem-1)
[使用集合类存储和操作对象](Problem-2)
[遍历集合:从普通到增强](Problem-3)
[创建不可变集合:Java9中的新功能](Problem-4)
[Spring中的集合操作](Problem-5)
正文
老铁们,在Java中,搞存储和操作可不是件难事,因为它专门提供了不少特设类,就像字典、数组、栈和属性,这些都是用来存和用各种对象的。
Java中的存储和操作基础概念
| 类 | 用途 |
|---|---|
| Dictionary | 存储键值对 |
| Vector | 动态数组,可以增长和收缩 |
| Stack | 遵循后进先出(LIFO)规则的堆栈 |
| Properties | 存储键值对,但这些键值对是字符串类型 |
现在,我们来看看最常用的集合类,它们都继承自Collection接口。这些类包括:
List:有序元素集合,允许重复。
Set:无序元素集合,不允许重复。
Map:键值对集合,键是唯一的,值可以重复。
集合类存储和操作对象
| 集合类 | 特性 | 方法 |
|---|---|---|
| List | 有序,允许重复 | add(),get(),remove(),size() |
| Set | 无序,不允许重复 | add(),contains(),remove(),size() |
| Map | 键值对,键唯一 | put(),get(),remove(),size() |
示例:将字符串转换为集合并比较元素
java
importjava.util.;
publicclassCollectionDemo{
publicstaticvoidmain(String[]args){
//将字符串转换为列表
List
//使用Collection.min()和Collection.max()比较元素
StringminString=Collections.min(stringList);
StringmaxString=Collections.max(stringList);
System.out.println("最小值:"+minString);
System.out.println("最大值:"+maxString);
遍历集合在我们写代码的时候可是经常用到的,而Java也提供了好几种遍历方式。
Java中的集合遍历方式
| 遍历方式 | 语法 | 优点 |
|---|---|---|
| 普通for循环 | for(inti=0;i| 灵活,可控制遍历顺序 |
|
| 增强型for循环 | for(Strings:list) | 简洁,无需管理索引 |
| 迭代器 | Iterator | 可同时遍历和修改集合 |
示例:遍历包含字符串的列表
java
importjava.util.ArrayList;
publicclassCollectionIterationDemo{
publicstaticvoidmain(String[]args){
//创建一个字符串列表
ArrayList
list.add("Java");
list.add("C++");
list.add("Python");
//使用普通for循环遍历
for(inti=0;i System.out.println("普通for循环:"+list.get(i)); //使用增强型for循环遍历 for(Strings:list){ System.out.println("增强型for循环:"+s); //使用迭代器遍历 Iterator while(iterator.hasNext()){ System.out.println("迭代器:"+iterator.next()); Java9中引入了一个超棒的新功能,它允许我们创建不可变集合。这些集合对元素进行读写时就会报错,这样就可以防止意外修改,提高代码的安全性。 创建不可变集合 示例:创建不可变列表 java importjava.util.ArrayList; importjava.util.List; publicclassImmutableCollectionsDemo{ publicstaticvoidmain(String[]args){ //创建一个可变列表 ArrayList list.add("Java"); list.add("C++"); list.add("Python"); //创建一个不可变列表 List //尝试修改不可变列表(会报错) immutableList.add("Go"); Spring可是Java中的重量级框架,它对集合操作也提供了额外的支持。 Spring中的集合操作 示例:使用Spring注入集合 java importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.qualifier.Qualifier; publicclassSpringCollectionInjectionDemo{ @Autowired @Qualifier("roleList") privateList publicvoidprintRoles(){ for(Stringrole:roles){ System.out.println(role); 怎么样,老铁们,看完这篇文章,是不是对Java中的存储和操作有了一番新的认识?欢迎在评论区留下你们的宝贵意见,或者分享你们在使用集合时的经验和心得。让我们一起探讨Java的更深奥之处!
方法 语法
List.copyOf() List
Set.copyOf() Set
Map.copyOf() Map
Spring注解 作用
@Autowired 按类型自动注入集合
@Qualifier 按名称注入集合
@JoinTable 定义集合之间的关系
添加微信