码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Java基础】集合(2) —— List


    【Java基础】集合(1) —— Collection
    【Java基础】集合(2) —— List
    【Java基础】集合(3) —— Set
    【Java基础】集合(4) —— 泛型
    【Java基础】集合(5) —— Map
    【Java基础】集合(6) —— Collections

    List

    存储的对象是有序的(集合中存储对象的顺序和使用add方法添加对象的顺序一致),存储的对象是可重复的。

    List的特有的功能: 都是可以操作索引的功能。

    1. 增:

      • void add(int index, E element )
      • boolean addAll(int index, Collection c)
      col.add("java");
      col.add(1,"hello");
      col.addAll(2,col2);
      
    2. 删

      • E remove(int index)
        返回被删除的对象
      Object obj = col.remove(3);
      
    3. 改

      • E set(int index, E element)
        修改指定索引上的元素
       col.set(2,"bigdata");
      
    4. 查

      • E get(int index)
        得到指定位置上的元素
      • ListIterator listIterator()
        返回此列表元素的列表迭代器(按适当顺序)。
      • ListIterator listIterator(int index)
        从指定元素开始迭代
      • List subList(int fromIndex, int toIndex)
        返回子List,不包括结束位置上的元素
      • int indexOf(E element)
        获取元素的索引
      • int lastIndex0f(E element)
        获取元素的最后一次出现的索引
      • **void replaceAll(UnaryOperator operator) R apply(T t) **
        替换功能
      col.replaceAll(t->((String)t).concat("hehe"));
      
      • void sort (Comparator comparator) int compare(T o1, T o2)
        排序功能
      col.sort((o1,o2)->((String)o2).length()-((String)o1).length());
      
    ArrayList
    • 后缀:List,说明存储的数据有序,可重复
    • 前缀:Array,说明该集合在存储数据时底层数据结构是数组
      数组的特点是便于查找,不便于添加和删除
    Vector
    • 线程安全的实现
    • 该集合在存储数据时,底层数据结构是数组
    遍历

    Enumeration elements()
    hasMoreElements() nextElement()

    Vector v=new Vector();
    v.add("java01");
    v.add("java02");
    Enumeration en = v.elements();
    while(en.hasMoreElements()){
    	Object obj = en.nextElement();
    	System.out.println(obj);
    }		
    
    LinkedList
    • 后缀:List,说明存储的数据有序,可重复

    • 前缀:Linked,说明该集合在存储数据时,底层数据结构是链表

      ​ 链表的特点是便于添加和删除,不便于查找

      单向链表:

      在这里插入图片描述

      双向链表:

      在这里插入图片描述

    方法
    • addFirst() addLast()
      getFirst() getLast()
      removeFirst() removeLast()

    • jdk1.6以后
      offerFirst() offerLast()
      peekFirst() peekLast()
      pollFirst() pollLast()

    public static void main(String[] args) {
    	LinkedList list=new LinkedList();
    	list.addFirst("001");
    	list.addFirst("002");
    	list.addFirst("003");
    	while(!list.isEmpty())//删除所有节点
    		 System.out.println(list.removeFirst());
    //System.out.println(list.getFirst());//NoSuchElementException
    	//System.out.println(list.peekFirst()); //null  不会异常
        //System.out.println(list.removeFirst());// 异常
    	System.out.println(list.pollFirst());//null  不会异常
    }
    

    img

  • 相关阅读:
    DIV布局网购网站设计——品优购(4页) HTML+CSS+JavaScript 大学生网购网页设计模板代码 学生简单购物网站设计成品
    ssm/php/node/python体育科技模型综合平台
    3-SpringBoot架构设计与实现原理-自动装配底层原理和手写自动装配
    Android Button#background 在MaterialComponents主题下无效问题
    Linux系统编程:进程part_1
    SQL进阶day12——空值处理
    matlab之cell数组的详细用法
    2018 年下半年 系统架构设计师 下午论文
    从源码上解决rosdep update失败问题
    OpenCV入门5——OpenCV的算术与位运算
  • 原文地址:https://blog.csdn.net/qq_43714449/article/details/138913735
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号