从零开始学java - 第十五天

98 阅读2分钟

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

今天继续~

集合算法

  • 集合框架定义了几种算法,用于集合和映射,这些算法被定义为集合类的静态方法
  • 集合定义三个静态的变量:EMPTY_SET,EMPTY_LIST,EMPTY_MAP的,这些变量不可改变

迭代器(Iterator)

  • 在java.util.* 包下
  • 使你能够通过循环来得到或删除集合的元素
import java.util.*;

public class Test{
    public static void main(String[] args){
        List<string> list = new ArrayList<String>();
        list.add("CSGO");
        list.add("LOL");
        list.add("OVERWATCH");
        
        // 使用迭代器进行遍历
        Iterator<String> ite = list.iterator();
        while(ite.hasNext()){
            System.out.println(ite.next());
        }
    }
}

ps:hasNext()方法用来判断下一个地方是否有值

ArrayList

  • ArrayList是一个可以动态修改长度的数组
  • ArrayList继承了AbstractList并实现了List接口

初始化

import java.util.ArrayList;

ArrayList<E> objectName = new ArrayList<>();

添加元素

  • 可以使用add()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");

ps:通过初始化创建一个数组,然后通过add()方法往数组里添加一个"Hello"

访问元素

  • 可以使用get()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
System.out.println(sites.get(0));// 返回"Hello"

ps:索引是从零开始的

修改元素

  • 可以使用set()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.set(0"World");

ps:搜索到索引为0的值,也就是"Hello",并将其改为"World"

删除元素

  • 可以使用remove()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.remove(0);

ps:索引为0,将"Hello"删除

计算大小

  • 可以使用size()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
System.out.println(sites.size());// 返回1

迭代数组列表

ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.add("World");
for (int i = 0; i < sites.size(); i++) {
    System.out.println(sites.get(i));
}

ps:通过for循环循环输出"Hello"和"World"

ArrayList 排序

  • 可以使用sort()方法
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.add("World");
sites.add("csgo");
sites.add("lol");
sites.add("overwatch");
Collections.sort(sites);

ps:通过字母顺序来排序

ArrayList剩下的所有方法

addAll() - 添加集合的所有元素到数组中

clear() - 删除数组中的所有元素

clone() - 复制数组中的所有元素

contains() - 判断元素是否在数组里

indexOf() - 返回指定元素的数组索引

removeAll() - 删除数组的所有元素

isEmpty() - 判断数组是否为空

subList() - 截取部分数组元素

toArray() - 转换为数组

toString() - 转换为字符串

ensureCapacity() - 设置指定容量的数组

lastIndexOf() - 返回指定元素在数组中最后一次出现的位置

retainAll() - 保留想要的元素

containAll() - 检查数组中是否包含集合中的所有元素

trimToSize() - 刷新容量为元素个数

removeRange() - 删除指定索引之间的元素

replaceAll() - 用给定值替换掉所有数组元素

removeIf() - 删除所有满足特定条件的元素

forEach() - 实现数组的遍历

今天就学到这里吧,晚安~