Java集合
Java集合
一,前言
开始学习集合,了解集合接口框架,掌握集合接口的定义的方法,掌握Iterator接口遍历集合,掌握foreach(增强for循环)遍历集合。
二,集合的概述
-
Java 集合就像一种容器,可以把多个对象的引用放入容器中。
-
Java 集合可分为 Collection和 Map 两类:
Collection:
Set:无序、不可重复的集合
List:有序,可重复的集合
Map:具有映射关系的集合
三,Collection接口
Collection 接口是 List 和 Set 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 集合
1.Collection接口常用的定义的方法
熟练掌握一些Collection接口常用的定义的方法,剩余可看API;
增删功能:
boolean add(object e):
将元素e添加到一个集合对象中;
boolean addAll(Collection<? extends E> c):
将指定集合中的所有元素添加到此集合。
boolean remove(Object o):
从该集合中删除指定元素的单个实例(如果存在)。
boolean removeAll(Collection<?> c):
删除指定集合中包含的所有此集合的元素。
void clear():
从此集合中删除所有元素(可选操作)。
判断功能:
boolean contains(Object o):
如果包含指定的元素,则返回true,自定义类要重写equals()方法。
boolean containsAll(Collection<?> c):
如果此集合包含指定集合中的所有元素,则返回true。
boolean isEmpty():
如果此集合不包含元素,则返回 true 。
boolean equals(Object o):
将指定的对象与此集合进行比较以获得相等性。
转换功能:
Object[] toArray():
返回一个包含此集合中所有元素的数组。
Arrays.asList(Object[]):
将数组转变成集合。(调用Arrays类的静态方法)
获取功能:
int size():
获取添加元素的个数。
int hashCode():
返回此集合的哈希码值。
调用迭代器:
Iterator<E> iterator()
返回此集合中的元素的迭代器。
三,Iterator 接口
- Iterator 接口主要用于遍历 Collection 集合中的元素,Iterator 对象也被称为迭代器。
- Iterator 仅用于遍历集合,Iterator 本身不提供承装对象的能力。如需创建 Iterator 对象,则必须有一个被迭代的集合调用构造。
基本方法:
boolean hasNext():
如果集合中往下指针还存在元素,则返回true。
E next():
返回集合的下一个元素。
void remove():
删除next()返回的最后一个元素。(不可在next方法之前使用。)
default void forEachRemaining(Consumer<? super E> action):
对每个剩余元素执行给定的操作,直到所有元素都被处理或动作引发异常。
例:
public void test(){
collection coll = new Arraylist();
Iterator iterator = coll.iterator();
for(iterator.hasNext()){
Sysotem.out.println(iterator.next());
}
}
!!注:(Iterator 迭代器为为一次性指针形式,如需重新遍历,则需重新调用)
四,foreach 循环
Java 5 提供了 foreach 循环迭代访问集合(Collection)或数组,又名增强for循环。
foreach遍历集合底层使用Iterator完成操作。
foreach遍历操作无需集合(Collection)或数组的长度,无需使用索引访问元素。
例:
public void test(){
collection coll = new Arraylist();
for(Object obj : coll){
Sysotem.out.println(obj);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】