专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

ArrayList方法API实例演示

ArrayList

ArrayList继承了AbstractList,并且底层是通过维护了一个Object数组实现的,特点是查询速度快、增删慢、线程不安全。

当数据需要频繁的查询,而增加删除较少的时候,使用ArrayList数组存储数据效率更高。

API使用示例

add

@Test
public void add () {
    //add:将指定的元素添加到此列表的尾部。
    ArrayList<Object> array = new ArrayList<>();
    array.add(123); //添加整数类型
    array.add("123"); //添加字符串类型
    array.add('1'); //添加字符类型
    System.out.println(array); //打印结果
}

add(有参)

@Test
public void addTwoArgs () {
    //add(int index, E element):将元素插入此列表中的指定位置。
    ArrayList<Object> array = new ArrayList<>();
    array.add("World");
    array.add(0,"Hello");
    System.out.println(array);
}

addAll

@Test
public void addAll () {
    //addAll(Collection<? extends E> c): 根据Collection集合内容添加到ArrayList集合中s
    ArrayList<Object> array = new ArrayList<>();
    Collection<Object> collection = new ArrayList<>(); //创建一个Collection集合
    collection.add("Collection list"); //添加一条数据
    boolean addAll = array.addAll(collection); //使用ArrayList集合调用addAll方法,放入Collection集合
    System.out.println(addAll); //元素添加成功,输出为true
    System.out.println(array); //打印ArrayList集合

addAll(有参)

@Test
public void addAllTwoArgs () {
    //addAll(int index, Collection<? extends E> c):从指定的位置开始,将指定 collection 中的所有元素插入到集合中
    ArrayList<Object> array = new ArrayList<>();
    array.add("China");
    Collection<Object> collection = new ArrayList<>(); //创建一个Collection集合
    collection.add("Hello"); //添加一条数据
    boolean addAll = array.addAll(0, collection); //插入数据到ArrayList集合的第0号索引位置
    System.out.println(addAll); //打印为true
    System.out.println(array); //打印ArrayList集合内容
}

clear

@Test
public void clear () {
    //clear:清除集合所有元素
    ArrayList<Object> array = new ArrayList<>();
    array.add("Bear");
    System.out.println(array); //打印结果为Bear
    array.clear(); //清除集合元素
    System.out.println(array); //打印结果为空
}

clone

@Test
public void Clone () {
    //clone: 克隆打印集合的内容
    ArrayList<Object> array = new ArrayList<>();
    array.add("clone method");
    Object clone = array.clone(); //调用clone方法
    System.out.println(clone); //打印会显示集合的元素内容
}

contains

@Test
public void contains () {
    //contains:  如果集合中包含指定的元素,则返回 true,否则false。
    ArrayList<Object> array = new ArrayList<>();
    array.add("123");
    boolean contains = array.contains("Bear"); //调用contains方法判断
    System.out.println(contains); //集合中不存在指定元素值,打印为false
}

ensureCapacity

@Test
public void ensureCapacity () {
    //ensureCapacity:对数组进行初始化扩容
    ArrayList<Object> array = new ArrayList<>();
    array.ensureCapacity(10000); //对数组增加了10000个初始容量
}

get

@Test
public void get() {
    //get:获取指定位置的元素
    ArrayList<Object> array = new ArrayList<>();
    array.add("get0号");
    array.add("get1号");
    System.out.println(array.get(1)); //根据get方法获取集合1号元素,打印get1号
}

indexOf

@Test
public void indexOf() {
    //indexOf:根据参数返回首次出现集合内容的索引位置
    ArrayList<Object> array = new ArrayList<>();
    array.add("indexOf method--0");
    array.add("indexOf method--1");
    System.out.println(array.indexOf("indexOf method--0")); //参数是0号元素,所以返回结果为0
}

isEmpty

@Test
public void isEmpty() {
    //isEmpty:判断集合元素是否为空,空则返回true,否则false
    ArrayList<Object> array = new ArrayList<>();
    array.add("isEmpty");
    System.out.println(array.isEmpty());
}

lastIndexOf

@Test
public void lastIndexOf() {
     //lastIndexOf:根据参数返回最后一次出现集合内容的索引位置,和indexOf方法类似
    ArrayList<Object> array = new ArrayList<>();
    array.add("lastIndexOf--0");
    array.add("lastIndexOf--1");
    System.out.println(array.lastIndexOf("lastIndexOf--1")); //返回为1号索引
}

remove

@Test
public void remove() {
    //remove(int index):移除指定的集合元素
    ArrayList<Object> array = new ArrayList<>();
    array.add("remove");
    System.out.println(array.remove(0)); //移除第0号元素
}

remove(有参)

@Test
public void removeObj() {
    //remove(Object o):移除指定的集合元素,参数是对象类型
    ArrayList<Object> array = new ArrayList<>();
    array.add("removeObj");
    System.out.println(array.remove("removeObj")); //根据指定字符串进行筛选移除
    System.out.println(array); //打印为空集合
}

set

@Test
public void set() {
    //set:根据参数替换指定位置的集合元素
    ArrayList<Object> array = new ArrayList<>();
    array.add("set");
    System.out.println(array.set(0,"new set")); //用new set内容替换0号set字符内容s
    System.out.println(array);
}

size

@Test
public void size () {
    //size:返回集合元素的个数
    ArrayList<Object> array = new ArrayList<>();
    int size = array.size();
    System.out.println(size); //没有添加元素,打印为0
}

toArray

@Test
public void toArray() {
    //toArray:将集合转换为数组
    ArrayList<Object> array = new ArrayList<>();
    array.add("toArray");
    Object[] obj = array.toArray();
    System.out.println(obj[0]); //打印转换后数组的第0号内容,也就是集合里添加的内容
}

toArray(有参)

@Test
public void toArrayArgs() {
    //toArray(T[] a):根据参数指定集合显示的长度,如果参数长度大于集合,打印多余结果则为null
    ArrayList<Object> array = new ArrayList<>();
    array.add("hello");
    array.add("world");
    array.add("world");
    Object[] obj = array.toArray(new Object[]{1,2,3,4}); //集合没有4个元素,所以根据参数4会打印为null
    for (Object o : obj) { //增强for循环遍历数组
        System.out.println(o);
    }
}

trimToSize

@Test
public void trimToSize() {
    //trimToSize:将此 ArrayList 实例的容量调整为列表的当前大小。
    ArrayList<Object> array = new ArrayList<>();
    array.trimToSize(); //恢复集合的初始容量
}

iterator

@Test
public void iterator() {
    //iterator:返回一个 迭代器接口
    ArrayList<Object> array = new ArrayList<>();
    array.add(1);
    array.add(2);
    array.add(3);
    Iterator<Object> iterator = array.iterator();
    while (iterator.hasNext()){ //使用迭代器接口方法遍历集合
        Object next = iterator.next();
        System.out.println(next);
    }
}

subList

@Test
public void subList() {
    //subList:返回指定区间的元素
    ArrayList<Object> array = new ArrayList<>();
    array.add("subList--0");
    array.add("subList--1");
    array.add("subList--2");
    List<Object> subList = array.subList(1, 2); //指定1号-2号索引位置的值
    System.out.println(subList); //打印为subList--1
}

removeAll

@Test
public void removeAll() {
    //removeAll:根据Collection集合移除ArrayList集合的元素
    ArrayList<Object> array = new ArrayList<>();
    array.add(123);
    Collection<Object> collection = new ArrayList<>();
    collection.add(123); //根据Collection集合删除ArrayList的元素值
    boolean b = array.removeAll(collection);
    System.out.println(b); //打印为true
}

listIterator

@Test
public void  listIterator() {
    //listIterator无参:返回一个集合迭代器
    ArrayList<Object> array = new ArrayList<>();
    array.add("listIterator--0");
    array.add("listIterator--1");
    ListIterator<Object> listIterator = array.listIterator();
    while (listIterator.hasNext()) { //使用集合迭代器接口方法遍历ArrayList
        Object next = listIterator.next();
        System.out.println(next);
    }
}

listIterator(有参)

@Test
public void listIteratorArgs() {
    //listIterator有参: 返回一个带参数的集合迭代器接口
    ArrayList<Object> array = new ArrayList<>();
    array.add("listIterator");
    ListIterator<Object> listIterator = array.listIterator(0); //指定集合元素的位置,超出集合长度则报异常
    while (listIterator.hasNext()) { //使用迭代器方法遍历集合
        Object next = listIterator.next();
        System.out.println(next);
    }
}

forEach

@Test
public void forEach() {
    //forEach:用于快速遍历集合
    ArrayList<Object> array = new ArrayList<>();
    array.add("forEach--0");
    array.add("forEach--1");
    array.forEach(System.out :: println);
}

stream

@Test
public void stream() {
    //stream:返回一个stream流接口
    ArrayList<Object> array = new ArrayList<>();
    array.add("stream--0");
    array.add("stream-1");
    Stream<Object> stream = array.stream();
    System.out.println(stream.count()); //计算集合总数
}

parallelStream

@Test
public void parallelStream() {
    //parallelStream:返回一个顺序流
    ArrayList<Object> array = new ArrayList<>();
    array.add("parallelStream");
    Stream<Object> parallelStream = array.parallelStream();
    parallelStream.forEach(System.out::println); //使用forEach方法遍历集合元素
}

sort

@Test
public void sort() {
    //sort:对集合进行排序
    ArrayList<Integer> array = new ArrayList<>();
    array.add(1);
    array.add(2);
    array.sort((o1, o2) -> o2-o1); //使用lambda表达式写法,使集合倒序排列打印
    for (Integer sort : array) {
        System.out.println(sort);
    }
}

spliterator

@Test
public void spliterator(){
    //spliterator:用于分割和遍历集合
    ArrayList<Integer> array = new ArrayList<>();
    array.add(123);
    array.add(321);
    Spliterator<Integer> spliterator = array.spliterator();
    int characteristics = spliterator.characteristics(); //根据集合特征返回一个整数值
    System.out.println(characteristics);
    spliterator.forEachRemaining(System.out::println); //遍历集合内容
}

文章永久链接:https://tech.souyunku.com/33833

未经允许不得转载:搜云库技术团队 » ArrayList方法API实例演示

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们