• JAVA面向对象学习——java集合———ArrayList——ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。


    ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

    ArrayList 继承了 AbstractList ,并实现了 List 接口。

    ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

    import java.util.ArrayList; // 引入 ArrayList 类
    
    
    
    ArrayList<E> objectName =new ArrayList<>();  // 初始化
    

      

    • E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型
    • objectName: 对象名。

    ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。

    =============================================================================

    ==============================================================================

     

     

    ArrayList 排序

    Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。

    以下实例对字母进行排序:

     

    Java ArrayList 方法

    Java ArrayList 常用方法列表如下:

    方法描述
    add() 将元素插入到指定位置的 arraylist 中
    addAll() 添加集合中的所有元素到 arraylist 中
    clear() 删除 arraylist 中的所有元素
    clone() 复制一份 arraylist
    contains() 判断元素是否在 arraylist
    get() 通过索引值获取 arraylist 中的元素
    indexOf() 返回 arraylist 中元素的索引值
    removeAll() 删除存在于指定集合中的 arraylist 里的所有元素
    remove() 删除 arraylist 里的单个元素
    size() 返回 arraylist 里元素数量
    isEmpty() 判断 arraylist 是否为空
    subList() 截取部分 arraylist 的元素
    set() 替换 arraylist 中指定索引的元素
    sort() 对 arraylist 元素进行排序
    toArray() 将 arraylist 转换为数组
    toString() 将 arraylist 转换为字符串
    ensureCapacity() 设置指定容量大小的 arraylist
    lastIndexOf() 返回指定元素在 arraylist 中最后一次出现的位置
    retainAll() 保留 arraylist 中在指定集合中也存在的那些元素
    containsAll() 查看 arraylist 是否包含指定集合中的所有元素
    trimToSize() 将 arraylist 中的容量调整为数组中的元素个数
    removeRange() 删除 arraylist 中指定索引之间存在的元素
    replaceAll() 将给定的操作内容替换掉数组中每一个元素
    removeIf() 删除所有满足特定条件的 arraylist 元素
    forEach() 遍历 arraylist 中每一个元素并执行特定操作

    更多 API 方法可以查看:https://www.runoob.com/manual/jdk11api/java.base/java/util/ArrayList.html

    ======================================================================

    ======================================================================

    import java.util.ArrayList;

    import java.util.Iterator;

    public class arrayList

    {

        public static void main( String[] args )

        {

            ArrayList<String>  list  =  new ArrayList<String>();  //存储String类型的元素

            list.add("hello ");     //添加元素

            list.add("my ");

            list.add("love!");

            System.out.println(list);       //打印整个集合

            System.out.println("==================================");

            System.out.println(list.size());        //获取集合元素个数

            System.out.println("==================================");

            System.out.println(list.get(0));        //获取第一个元素

            System.out.println(list.get(1));        //获取第二个元素

            System.out.println(list.get(2));        //获取第三个元素

            System.out.println("==================================");

            list.set(0,"h-e-l-l-0");        //修改第一个元素

            list.set(1,"m-y");        //修改第二个元素

            list.remove(2);    //删除第三个元素

            System.out.println(list);       //打印整个集合

            System.out.println("==================================");

            System.out.println(list.size());        //获取集合元素个数

            System.out.println("==================================");

            

            for(int i = 0;i < list.size();i++)        //遍历打印集合

            {

                System.out.println(list.get(i));

            }

            System.out.println("==================================");

            ArrayList<Integer>  list2  =  new ArrayList<Integer>();  //存储nteger类型的元素

            list2.add(1);     //添加元素

            list2.add(2);

            list2.add(3);

            System.out.println(list2);       //打印整个集合

            System.out.println("==================================");

            System.out.println(list2.size());        //获取集合元素个数

            System.out.println("==================================");

            System.out.println(list2.get(0));        //获取第一个元素

            System.out.println(list2.get(1));        //获取第二个元素

            System.out.println(list2.get(2));        //获取第三个元素

            System.out.println("==================================");

            for(int i = 0;i < list2.size();i++)        //遍历打印集合

            {

                System.out.println(list2.get(i));

            }

            System.out.println("==================================");

            Iterator<String> it = list.iterator();  //返回集合元素顺序随机

            boolean r = it.hasNext();

            System.out.println(r); //true 使用迭代器的hasNext()方法判断集合中还有没有下一个元素

            String str = it.next();

            System.out.println(str); //使用迭代器的next()方法取出集合中下一个元素

            System.out.println("==================================");

            while (it.hasNext())

            {

                System.out.println(it.next());

            }

            //遍历完后,再次从迭代器取元素

            boolean it2 = it.hasNext();

            System.out.println(it2);   //false

        }

    }

    执行结果:

    [hello , my , love!]

    ==================================

    3

    ==================================

    hello

    my

    love!

    ==================================

    [h-e-l-l-0, m-y]

    ==================================

    2

    ==================================

    h-e-l-l-0

    m-y

    ==================================

    [1, 2, 3]

    ==================================

    3

    ==================================

    1

    2

    3

    ==================================

    1

    2

    3

    ==================================

    true

    h-e-l-l-0

    ==================================

    m-y

    false

  • 相关阅读:
    设计模式系列之中介者模式(Mediator Pattern)——协调多个对象之间的交互
    设计模式系列之外观模式(Facade Pattern)——提供统一的入口
    设计模式系列之装饰模式(Decorator Pattern)——扩展系统功能
    设计模式系列之组合模式(Composite Pattern)——树形结构的处理
    设计模式系列之工厂模式三兄弟(Factory Pattern)
    设计模式系列之建造者模式(Builder Pattern)——复杂对象的组装与创建
    设计模式系列之原型模式(Prototype Pattern)——对象的克隆
    动态追踪技术之SystemTap
    一次内核 crash 的排查记录
    LLVM Coding Standards
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/16029617.html
Copyright © 2020-2023  润新知