【Java】集合汇总

75 阅读2分钟

集合

image.png

1)单列集合:一次添加一个数据

List系列集合:添加的元素是有序、可重复、有索引的 有序:存和取的顺序是一致的

遍历方式

普通for循环无法应用于set集合

1)迭代器遍历

迭代器在Java中的类是Iterator,是集合专用的遍历方式

Iteratoe<E> iterator()  返回迭代器对象,默认指向当前集合的0索引

boolean hasNext()       判断当前位置是否有元素,有元素返回true,没有元素返回false
E next()                获取当前位置的元素,并将迭代器对象移向下一个位置
void remove()           从迭代器指向的collection中移除迭代器返回的最后一个元素
📘 迭代器遍历是不依赖索引的,所以不能通过传统的方式来删除集合元素,可以使用迭代器的`remove`方法,没有新增元素的方法

2)增强for遍历

  • 增强for的底层就是迭代器,为了简化迭代器代码的书写
  • 所有单列集合及数组才可以用增强for进行遍历

格式:

for(元素的数据类型 变量名 : 数组或者集合){
}

for(String s : list){
		s="q";
}
aaa.forEach(new Consumer<Integer>() {
            @Override
            public void accept(Integer integer) {
                System.out.println(integer);
            }
        });
📘 s只是一个第三方变量,把数组、集合的值赋值给他。所以在增强for中不能通过s来修改数组或集合中的值

3)forEach遍历

使用匿名内部类的形式,accept方法每次接收的是每次遍历的变量

4)Lambda表达式遍历

把forEach遍历转换为Lambda表达式的形式

aaa.forEach(as-> System.out.println(as));
  • 迭代器:在遍历的过程中需要删除元素
  • 增强for、Lambda:仅仅遍历

2)双列集合:一次添加一对数据

添加的元素是无序、不重复、无索引的

Collection接口

Map

Comparable与Comparator

不可变集合