Iterable、Collection、List 的常见方法签名以及含义

简介: Iterable、Collection、List 的常见方法签名以及含义

1、Collection中的常用方法

eaa5deaac67049a1bd222331a8afe620.png

4b6d84d78ea145c992d7c4a6614e7d5a.png


Collection是所有单列集合的根接口,因此在Collection中定义了单列集合(List和Set)的一些通用方法,这些方法可用于操作所有的单列集合。

下面我们先用ArrayList集合来一一列举:

import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        //创建Arraylist集合
        ArrayList list=new ArrayList();
        //add向集合中添加元素
        list.add("first");
        list.add("second");
        list.add("third");
        //size() 查看元素个数
        System.out.println(list.size());            //3
        //isEmpty() 判断集合是否为空
        System.out.println(list.isEmpty());         //false
        //contains(object c)  判断该集合是否包含指定集合c中的所以元素
        String A="list";
        String B="first";
        System.out.println(list.contains(A));       //false
        System.out.println(list.contains(B));       //true
        //equal(object o) 判断与指点的对象是否相等
        System.out.println(list.equals("first"));   //false
        ArrayList list1=new ArrayList();
        list1.add("first");
        list1.add("second");
        list1.add("third");
        System.out.println(list.equals(list1));     //true
        //clear() 清除该集合中是所以元素
        System.out.println(list);                   //[first, second, third]
        list.clear();
        System.out.println(list);                   //[]
    }
}

等下再单独说iterator

2、list中的常用方法

List 接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引(类似于数组中的元素角标)来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。

List作为Collection集合的子接口,不但继承了Collection 接口中的全部方法,而且还增加了一些操作集合的特有方法。如下:


a3e265a046cc4c06a608293a2e92e3fb.png

list接口中有Arraylist集合和LinkedList集合,我们一起来了解一下这两个集合。

(1)ArrayList

ArrayList是 List 接口的一个实现类,,它是程序中最常见的一种集合。在 ArrayList内都封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组正是由于ArrayList内部的数据存储结构是数组形式,在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作。但是,这种数组结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合在遍历和查找元素时显得非常高效

import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        //add向集合中添加元素
        list.add("first");
        list.add("second");
        list.add("third");
        //Object get(int x) 得到列表中指点位置的元素
        System.out.println(list.get(1));        //second
        //Object set(int x,Object element) 将索引x处的元素换成element元素,并返还替换后的元素
        list.set(1,"SECOND");
        System.out.println(list);               //[first, SECOND, third]
        //lastIndexOf(Object c) 返回c最后一次出现的索引,如果集合不包含c,则返回-1
        System.out.println(list.lastIndexOf("first"));      //0
        System.out.println(list.lastIndexOf("FIRST"));      //-1
    }
}

(2)LinkedList

ArrayList集合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。该集合内部包含有两个 Node类型的first和 last属性维护一个双向循环链表,链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的这种引用关系即可,删除一个节点也是如此。正因为这样的存储结构,所以 LinkedList集合对于元素的增删操作表现出很高的效率。

LinkedList方法:


53a55051a4744f69ab50f646cf1a4356.png

3、lterator遍历集合

lterator接口是Java集合框架中的一员,但它与Collection ,Map接口有所不同,Collection接口与Map接口主要用于存储元素,而 Iterator主要用于迭代访问(即遍历)olleoxion中的元素,因此Iterator对象也被称为迭代器。

import java.util.ArrayList;
import java.util.Iterator;
public class Main {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        list.add("first");
        list.add("second");
        list.add("third");
        list.add("four");
        list.add("five");
        //获取Iterator对象
        Iterator iterator=list.iterator();
        //判断集合中是否存在下一个元素
        while (iterator.hasNext())
        {
            Object ob=iterator.next();
            System.out.println(ob);
        }
    }
}

打印结果:

first

second

third

four

five


目录
相关文章
|
2月前
|
Java 开发者
使用HashMap的values()方法返回的值转换为List时遇到错误
使用HashMap的values()方法返回的值转换为List时遇到错误
|
2月前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
11天前
|
开发者 Python
【亮剑】Python中`List.append()`方法不起作用的原因及解决方案
【4月更文挑战第30天】本文探讨了Python中`List.append()`方法不起作用的原因及解决方案。问题可能源于变量作用域、可变类型与不可变类型混淆、函数内的局部变量、错误的赋值操作或并发修改。解决方法包括检查变量、确保正确操作列表、使用`global`关键字、避免错误赋值和采用同步机制处理并发问题。理解这些问题对于编写健壮的Python代码至关重要。
|
11天前
|
Java API
【亮剑】三种有效的方法来删除List中的重复元素Java的List
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
1月前
List中的remove方法遇到报错不能删除以及四种解决办法点赞收藏
List中的remove方法遇到报错不能删除以及四种解决办法点赞收藏
21 0
|
2月前
使用List中的remove方法遇到数组越界
使用List中的remove方法遇到数组越界
21 2
|
2月前
|
Java
JAVA——List中剔除空元素(null)的三种方法汇总
JAVA——List中剔除空元素(null)的三种方法汇总
|
2月前
|
SQL XML Java
<foreach>元素中collection=list改成collection=array
<foreach>元素中collection=list改成collection=array
|
3月前
|
存储 Java 索引
java list集合相关介绍和方法使用操作
java list集合相关介绍和方法使用操作
30 1
|
4月前
|
存储 Java 索引
从零开始学习 Java:简单易懂的入门指南之Collection集合及list集合(二十一)
从零开始学习 Java:简单易懂的入门指南之Collection集合及list集合(二十一)