Set 接口的特点 :
1、不允许存储重复的元素
2、没有索引,没有带索引的方法,也不可以用for循环去循环遍历
HashSet特点:
1、不允许存储重复的与元素
2、没有索引,不可以用for循环去循环遍历
3、是一个无序的集合,存储元素和取出元素的顺序有可能不一致
3、底层是一个哈希表结构(速度十分快)
package com.company;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
//使用add方法往里面添加元素
set.add(1);
set.add(7);
set.add(4);
set.add(1);
//使用迭代器遍历set集合
Iterator<Integer> it = set.iterator();
while (it.hasNext()){
Integer n = it.next();
System.out.println(n);//输出的时候重复的1没有再进行重复存储 并且顺序也是不一样的
}
//可以使用增强for遍历
System.out.println("-------------");
for (Integer i : set){
System.out.println(i);
}
System.out.println("-------------");
//练手
int[] Array = {2, 0, 0, 1, 0, 8, 0, 6};
Set<Integer> a = new HashSet<>();
//使用add方法往里面添加元素
for (int i = 0; i < Array.length; i ++){
a.add(Array[i]);
}
//使用增强for循环输出
for (Integer i : a){
System.out.println(i);
}
}
}
1
4
7
-------------
1
4
7
-------------
0
1
2
6
8