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

一些概念性内容:

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

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

LinkedHashSet实现类:元素有序

TreeSet实现类:元素可排序;

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

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


①创建HashSet对象:

        Set<String> s = new HashSet<>();

常用方法示范:

import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args){
        //1.创建对象
        Set<String> 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<Integer> 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<String> 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));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值