网站首页 > java教程 正文
当涉及 Java 编程中的集合框架时,List、Set 和 Map 是三个最常用且基本的接口。它们都属于 java.util 包,并且用于在 Java 中存储和操作数据的集合。在本讲解中,我将详细介绍这三个接口的特点、用法和常见操作,帮助您从一个 Java 小白成为精通集合框架的程序员。
List 接口
List 是有序的集合,它允许存储重复的元素。每个元素都有一个索引,可以根据索引进行访问。Java 中最常用的 List 实现类是 ArrayList 和 LinkedList。
特点:
- 有序性:List 中元素的顺序与添加的顺序一致。
- 可重复性:List 允许存储重复的元素。
- 索引访问:通过索引可以高效地访问元素。
常见操作:
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
public class ListDemo {
public static void main(String[] args) {
// 使用 ArrayList
List<String> arrayList = new ArrayList<>();
arrayList.add("apple");
arrayList.add("banana");
arrayList.add("orange");
// 使用 LinkedList
List<String> linkedList = new LinkedList<>();
linkedList.add("apple");
linkedList.add("banana");
linkedList.add("orange");
// 遍历列表元素
for (String item : arrayList) {
System.out.println(item);
}
// 通过索引访问元素
String fruit = arrayList.get(1); // 获取索引为1的元素 "banana"
}
}
Set 接口
Set 是不允许重复元素的集合,它确保集合中的元素是唯一的。Java 中最常用的 Set 实现类是 HashSet 和 TreeSet。
特点:
- 无序性:Set 中的元素没有固定的顺序。
- 唯一性:Set 不允许存储重复的元素。
常见操作:
import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;
public class SetDemo {
public static void main(String[] args) {
// 使用 HashSet
Set<String> hashSet = new HashSet<>();
hashSet.add("apple");
hashSet.add("banana");
hashSet.add("orange");
// 使用 TreeSet
Set<String> treeSet = new TreeSet<>();
treeSet.add("apple");
treeSet.add("banana");
treeSet.add("orange");
// 遍历集合元素
for (String item : hashSet) {
System.out.println(item);
}
// 判断元素是否存在于集合
boolean containsApple = hashSet.contains("apple"); // true
boolean containsGrapes = hashSet.contains("grapes"); // false
}
}
Map 接口
Map 是一种键值对存储的数据结构,每个元素都包含键和值。Map 中的键是唯一的,值可以重复。Java 中最常用的 Map 实现类是 HashMap 和 TreeMap。
特点:
- 键值对存储:Map 中的元素是以键值对 (key-value) 的形式存储的。
- 键的唯一性:Map 中的键是唯一的,不允许重复。
- 值的可重复性:Map 中的值可以重复。
常见操作:
import java.util.Map;
import java.util.HashMap;
import java.util.TreeMap;
public class MapDemo {
public static void main(String[] args) {
// 使用 HashMap
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 1);
hashMap.put("banana", 2);
hashMap.put("orange", 3);
// 使用 TreeMap
Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("apple", 1);
treeMap.put("banana", 2);
treeMap.put("orange", 3);
// 遍历键值对
for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
String key = entry.getKey();
int value = entry.getValue();
System.out.println(key + ": " + value);
}
// 通过键获取值
int appleValue = hashMap.get("apple"); // 获取键 "apple" 对应的值 1
}
}
在实际开发中,List、Set 和 Map 是非常重要且常用的集合类型。了解它们的特点和用法能够帮助您更高效地处理和操作数据。希望本讲解能够帮助您对 Java 中的集合框架有一个清晰的认识,并成为 Java 编程方面的精通者!
每天坚持学习一点点,不求有回报,只愿可以丰富自己!!!
猜你喜欢
- 2024-11-20 学习编程第189天 python编程 遍历字典与列表
- 2024-11-20 女朋友跟我吐槽 Java 中 ArrayList 遍历时删除元素的各种姿势
- 2024-11-20 一篇文章带你弄懂Python基础之列表介绍和循环遍历
- 2024-11-20 Java8 Stream流递归,几行代码搞定遍历树形结构
- 2024-11-20 ArrayList还是LinkedList?性能可差千倍
- 2024-11-20 Java集合-List
- 2024-11-20 如何正确遍历删除List中的元素
- 2024-11-20 python每天学习一点点(遍历列表-for循环)
- 2024-11-20 java8对List集合根据某一字段进行分组
- 2024-11-20 Scratch 遍历列表
你 发表评论:
欢迎- 最近发表
-
- Java内存溢出紧急处理:10个必知的Linux命令快速定位OOM
- 面试常问的 25+ 个 Linux 命令(linux面试命令大全)
- Java堆外内存溢出紧急处理实战:Linux命令定位与Spring Boot解决
- java开发常用的Linux命令,高频的没你想象的多
- Java 应用 CPU 飙升?8 个 Linux 命令组合拳快速锁定异常线程
- Java 开发者线上问题排查常用的 15 个 Linux 命令
- Java程序员必备的Linux命令:让你的工作效率翻倍
- Java程序员必备的Linux命令全解析
- [超全整理] Java 程序员必备的 100 条 Linux 命令大全
- SAP ABAP资源导航(sap aatp)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)