Java学习笔记 List集合的定义、集合的遍历、迭代器的使用

简介: Java学习笔记 List集合的定义、集合的遍历、迭代器的使用

List集合特点:有序、可重复  ;ArrayList  底层的数据结构是顺序存储;LinkedList 底层的数据结构是链式存储;

               

(1)基本方法。

用于查询的基本方法是对Collection元素的增加和删除,包括:

int size():返回集合元素的个数。

boolean isEmpty():如果Collection不包含元素,则返回true。

boolean Contains(Objecto):如果Collection 包含指定的元素,则返回true。

boolean add(E e):向集合中增加一个元素,成功返回true,否则返回false。

boolean remove(Object o):从Collection中移除指定元素的单个实例。

(2)批量操作方法。

批量操作方法是将整个集合作为一个单元来操作;包括:

boolean addAll(Collection c):将指定 collection中的所有元素都添加到当前Collection,成功返回true。

boolean removeAll(Collection c):删除所有元素,成功返回true。

boolean containsAll(Collection c):如果 Collection包含指定Collection中的所有元素,则返回true。

boolean retainAll(Collection c):保留 Collection中那些也包含在指定Collection中的元素。

void clear():移除Collection中的所有元素。

(3)数组操作方法。

把集合转换成数组的操作,包括:

Obiect[] toArray():返回包含Collection中所有元素的数组。

<T> T[] toArray(T[]a):返回包含Collection中所有元素的数组。返回数组的类型与指定数组的运行时类型相同。

(4)迭代操作方法。

迭代操作是为集合提供顺序获取元素的方法。Iterator iterator()返回一个实现迭代接口的对象。

迭代接口定义的方法有boolean hasNext()。只要集合存在下一个元素,可用Object next()方法获取下一个元素。

 

import java.util.*;
 
//集合的遍历,迭代器的使用
public class Test{
    public static void main(String[] args){
        Collection<String> myList =new ArrayList<>();  //定义一个存有字符串的集合
        String[] strs={"工藤新一","怪盗基德","鲁邦三世","宫野明美","琴酒","伏特加","天等指天椒"};
        Collections.addAll(myList, strs);               //将数组中的内容复制到集合里面去
        System.out.println("迭代之前:"+myList);          //输出集合中的内容
 
        Iterator<String> myItertor =myList.iterator();          //定义集合的迭代器
 
        while(myItertor.hasNext()){
            //通过迭代器获取元素
            String element = myItertor.next();
            //可以进行遍历输出
            System.out.println(element);
            //可以通过迭代器对集合进行操作
            if (element.length()>4){
                System.out.println("“"+element+"”字符长度大于4,删除!");
                myItertor.remove();
            }
        }
        System.out.println("迭代之后:"+myList);          //输出集合中的内容
    }
}

运行结果:

2.增强for遍历

import java.util.*;
//增强for遍历集合
public class Test{
    public static void main(String[] args){
        Collection<String> myList =new ArrayList<>();  //定义一个存有字符串的集合
        String[] strs={"工藤新一","怪盗基德","鲁邦三世","宫野明美","琴酒","伏特加","天等指天椒"};
        Collections.addAll(myList, strs);               //将数组中的内容复制到集合里面去
         System.out.println("=================增强for遍历====================");
        //采用 for遍历
        for (String s : myList) {
            System.out.println(s);
        }
    }
}

运行结果;

相关文章
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
474 100
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
449 101
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
11月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
279 7
|
11月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
449 4
|
存储 缓存 安全
Java集合框架(二):Set接口与哈希表原理
本文深入解析Java中Set集合的工作原理及其实现机制,涵盖HashSet、LinkedHashSet和TreeSet三大实现类。从Set接口的特性出发,对比List理解去重机制,并详解哈希表原理、hashCode与equals方法的作用。进一步剖析HashSet的底层HashMap实现、LinkedHashSet的双向链表维护顺序特性,以及TreeSet基于红黑树的排序功能。文章还包含性能对比、自定义对象去重、集合运算实战和线程安全方案,帮助读者全面掌握Set的应用与选择策略。
1458 23
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
352 4
|
安全 Java 开发者
Java集合框架:详解Deque接口的栈操作方法全集
理解和掌握这些方法对于实现像浏览器后退功能这样的栈操作来说至关重要,它们能够帮助开发者编写既高效又稳定的应用程序。此外,在多线程环境中想保证线程安全,可以考虑使用ConcurrentLinkedDeque,它是Deque的线程安全版本,尽管它并未直接实现栈操作的方法,但是Deque的接口方法可以相对应地使用。
580 12

热门文章

最新文章