Java : Set 集合接口

Set 接口常用子类

Set 接口与 List 接口的最大不同在于 Set 接口中的内容是不允许重复的, 同时也需要注意一点, Set 与 List 还有一个最大的不同在于 : Set 接口并没有对 Collection 接口进行扩充, 而 List 进行了扩充, 比如 get() 方法
由于是 jdk 1.8的原因, 所以在 Collection 接口里面也提供有一些default方法, 而这些方法并没有在Set接口里出现. 也就是说, Set 接口里面是不可能使用 get() 方法进行处理的, 而在 Set 子接口里面有两个常用的子类, HashSet, TreeSet.

在这里插入图片描述

范例: 观察 HashSet 使用

package com.nothing.dhl;

import java.util.HashSet;
import java.util.Set;

public class Test {
    
    
	public static void main(String[] args) {
    
    
		Set<String> all = new HashSet<String>();
		all.add("HELLO");
		all.add("hELLO");
		all.add("HELLO");
		all.add("ABSO");
		all.add("world");
		System.out.println(all);
	}
}

在这里插入图片描述

Hash 算法概念简单解释: 哪里有先找到了空闲位置就往哪里插入数据

范例: 观察 TreeSet 使用

package com.nothing.dhl;

import java.util.Set;
import java.util.TreeSet;

public class Test {
    
    
	public static void main(String[] args) {
    
    
		Set<String> all = new TreeSet<String>();
		all.add("C");
		all.add("C");
		all.add("F");
		all.add("F");
		all.add("A");
		all.add("D");
		all.add("B");
		System.out.println(all);
	}
}

在这里插入图片描述
TreeSet 使用的是一个升序排列的模式完成的

猜你喜欢

转载自blog.csdn.net/Beyond_Nothing/article/details/112882588