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);
        }
    }
}

运行结果;

相关文章
|
6天前
|
Java 编译器 API
如何在 Java 中避免使用迭代器
在Java中,为了避免使用迭代器,可以采用foreach循环来遍历集合或数组,简化代码,提高可读性。此外,Java 8引入的Stream API提供了更强大的功能,如filter、map等方法,能够以函数式编程风格处理数据,进一步减少对传统迭代器的依赖。
|
14天前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
6天前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
14 2
|
6天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
10天前
|
存储 Java
判断一个元素是否在 Java 中的 Set 集合中
【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。
|
10天前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
10天前
|
Java 开发者
|
10天前
|
存储 Java 开发者
Java中的集合框架深入解析
【10月更文挑战第32天】本文旨在为读者揭开Java集合框架的神秘面纱,通过深入浅出的方式介绍其内部结构与运作机制。我们将从集合框架的设计哲学出发,探讨其如何影响我们的编程实践,并配以代码示例,展示如何在真实场景中应用这些知识。无论你是Java新手还是资深开发者,这篇文章都将为你提供新的视角和实用技巧。
11 0
|
5月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
890 1
|
4月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。