AI 助理
备案 控制台
开发者社区 开发与运维 文章 正文

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


冷兮雪
目录
相关文章
智商低情商凑
|
4月前
|
索引
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
智商低情商凑
36 2
刘大猫.
|
23天前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
刘大猫.
30 5
智物科技库
|
2月前
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
智物科技库
32 1
List与String相互转化方法汇总
rbvb2ms5saimy
|
2月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
rbvb2ms5saimy
36 5
2G冲浪词条
|
3月前
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
2G冲浪词条
52 2
嘟嘟嘟嘟嘟嘟
|
3月前
|
前端开发 Java 项目管理
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
嘟嘟嘟嘟嘟嘟
47 3
一颗小谷粒
|
3月前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
一颗小谷粒
45 3
泥腿子架构师
|
3月前
|
存储 缓存 安全
Java List操作详解及常用方法
Java List操作详解及常用方法
泥腿子架构师
63 0
n7lskg6uuowc2
|
4月前
|
Java
JAVA构建List集合为树形结构的方法和代码
JAVA构建List集合为树形结构的方法和代码
n7lskg6uuowc2
23 0
sky_qiyi
|
4月前
|
Java
JavaSE——集合框架一(4/7)-List系列集合:LinkedList集合的底层原理、特有方法、队列、栈
JavaSE——集合框架一(4/7)-List系列集合:LinkedList集合的底层原理、特有方法、队列、栈
sky_qiyi
43 0

热门文章

最新文章

  • 1
    能用map的时候尽量不用List
  • 2
    hibernate取数据时iterator和list的区别
  • 3
    ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表
  • 4
    va_list,va_start,va_arg,va_en
  • 5
    一步一步学List Control控件的用法(第三步)----设置风格 .
  • 6
    list去重
  • 7
    LeetCode 82 Remove Duplicates from Sorted List II(从已排序链表中移除重复元素)(Linked List)(*)
  • 8
    Java 数组转 List 的 3 种方式,哪种性能最牛?
  • 9
    [LeetCode] Rotate List 旋转链表
  • 10
    How to delete a large number of data in SharePoint for List when refreshing data?
  • 1
    List<String> 如何传参
    362
  • 2
    使用 Gson 将 Map、List等转换为json string
    106
  • 3
    节点列表长度(Node List Length)
    32
  • 4
    【Python 基础】列表(list)和元组(tuple)有什么区别?
    110
  • 5
    【C++/STL】list(常见接口、模拟实现、反向迭代器、)
    40
  • 6
    节点列表长度(Node List Length)
    29
  • 7
    DOM 节点列表长度(Node List Length)
    56
  • 8
    DOM 节点列表(Node List)
    69
  • 9
    如何实现数组和 List 之间的转换?
    51
  • 10
    DataWorks操作报错合集之DataWorks节点报错:OSError: [Errno 7] Argument list too long,该怎么处理
    82
  • 相关课程

    更多
  • Python语言基础 - 列表、元组、字典、集合
  • 相关电子书

    更多
  • 低代码开发师(初级)实战教程
  • 冬季实战营第三期:MySQL数据库进阶实战
  • 阿里巴巴DevOps 最佳实践手册
  • 相关实验场景

    更多
  • 对象和接口-2:常见用法
  • 常见类型-3:数组元组的方法
  • 零基础入门Serverless:TodoList应用创建
  • 下一篇
    AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片

    玻璃钢生产厂家北京室外玻璃钢雕塑国庆商场户外美陈广州南沙玻璃钢雕塑舟山多彩玻璃钢雕塑定制杭州玻璃钢雕塑商家贵阳水果玻璃钢雕塑永州花钵玻璃钢雕塑设计江苏通道商场美陈现价江苏戏曲玻璃钢脸谱雕塑公司合肥玻璃钢雕塑设计报价肖像玻璃钢彩绘雕塑定制福建公园玻璃钢雕塑方法山西多彩玻璃钢雕塑市场南宁景区玻璃钢雕塑价位天津景观玻璃钢雕塑订做价格宜兴商场入口美陈泰州玻璃钢广场雕塑厂家玉林玻璃钢卡通雕塑规格广场玻璃钢雕塑信息通用玻璃钢雕塑销售厂家铜川玻璃钢花盆酒泉玻璃钢景观雕塑安装勒流玻璃钢人物雕塑个性定制玉溪玻璃钢仿真雕塑玻璃钢蘑菇雕塑厂家订制长沙户内玻璃钢雕塑销售电话新品玻璃钢园林雕塑渭南玻璃钢雕塑玻璃钢花盆长兴郑州玻璃钢雕塑订做价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

    玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化