【2023.6.4】Set集合的基本使用/Collection三种遍历方式

一些概念性内容:

List集合的特点:元素有序、可重复、有索引;

Set集合的特点:元素无序、不重复、无索引;

LinkedHashSet实现类:元素有序

TreeSet实现类:元素可排序;

(Set接口中的方法基本与Collection接口的API一致,如add.方法/remove/size等)

Collection接口:单列集合的共用接口,与Map双列集合(可一次添加一对数据)相对。


①创建HashSet对象:

        Set s = new HashSet<>();

常用方法示范:

import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args){
        //1.创建对象
        Set s = new HashSet<>();
        
        //2.添加元素
        boolean r1 = s.add("御坂");
        boolean r2 = s.add("御坂");
        System.out.println(r1);//True
        System.out.println(r2);//False(重复添加相同元素失败)
        
        //3.打印集合
        boolean r3 = s.add("黑子");
        boolean r4 = s.add("食蜂");
        System.out.println(s);//[食蜂, 御坂, 黑子]
    }
}

可以发现,HashSet存取的顺序不一样,而使用LinkedHashSet可以有效解决这一问题。


②创建TreeSet对象:

TreeSet实现类:元素可排序;示例代码如下:

public class Main {
    public static void main(String[] args){
        //1.创建对象
        TreeSet ts = new TreeSet<>();
        //2.添加元素
        ts.add(2);
        ts.add(5);
        ts.add(3);
        ts.add(1);
        ts.add(4);
        //打印集合
        System.out.println(ts);//[1, 2, 3, 4, 5]
    }
}

③迭代器遍历:Iterator类

Collection三种遍历方式之一:迭代器遍历、增强for遍历、Lamda表达式遍历

迭代器遍历的特点:不依赖索引

创建迭代器对象:

Iterator it = list.iterator();//list是创建的某个集合

调用迭代器方法:

while(it.hasNext()) //.hasnext用于判断是否有下一个元素
System.out.print(it.next);  //.next会从集合的0位置开始创建指针,获取元素。每次使用会移动指针

④增强for:底层就是迭代器, 为了简化迭代器代码而编写的直接遍历方式。

for( String s : list ) {
 System.out.println(s);
}

细节:修改增强for中的变量(如s=“aaa”,不会改变集合中的数据)

⑤Lamda遍历:用foreach方法遍历集合。

list.forEach(s -> System.out.println(s));

你可能感兴趣的:(学习日志,学习,java)