实训篇:第十五天
程序员文章站
2022-03-16 21:33:47
...
之前的List的顺序默认是指添加的顺序(如果不人为指定添加顺序时)就是遍历的顺序
1.HashSet
---无序,元素不能重复
无序:遍历的顺序和添加的顺序不一致;无序不是随机,多次遍历得到的顺序是一样的
遍历:
package com.hpe.test1;
import java.util.HashSet;
import java.util.Iterator;
public class Test2 {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
//添加元素
set.add("hello");
set.add("world");
set.add("ok");
set.add("good");
//打印顺序与添加顺序无关
System.out.println(set);
//HashSet遍历-1.增强for循环
for (String str : set) {
System.out.println(str);
}
/* Java8之前
* 遍历:
* 数组:
* 普通for-前提是有下标
* 增强for
* while
* ArrayList:
* 迭代器
* 普通for
* 增强for
* while
* Set:
* 迭代器
* 增强for
* Java8之后,上述都可以转为Stream流,用forEach()
*/
//HashSet遍历·2.迭代器遍历
//Collection 继承了Iterable,HashSet继承了Collection
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String item = it.next();
System.out.println(item);
}
//Java8及之后出现了行为参数化,forEach传的action是lambda表达式,语法糖,只是对已有写法进行了包装
set.forEach(e -> System.out.println(e));
}
}
判断两个内容相同:【Set中通过equals()和hashCode()判断元素是否相同】
元素个数& 添加集合:
package com.hpe.test1;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
public class Test2 {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
//添加元素
set.add("hello");
set.add("world");
set.add("ok");
set.add("good");
//打印顺序与添加顺序无关
System.out.println(set);
//HashSet遍历-1.增强for循环
for (String str : set) {
System.out.println(str);
}
/* Java8之前
* 遍历:
* 数组:
* 普通for-前提是有下标
* 增强for
* while
* ArrayList:
* 迭代器
* 普通for
* 增强for
* while
* Set:
* 迭代器
* 增强for
* Java8之后,上述都可以转为Stream流,用forEach()
*/
//HashSet遍历·2.迭代器遍历
//Collection 继承了Iterable,HashSet继承了Collection
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String item = it.next();
System.out.println(item);
}
//Java8及之后出现了行为参数化,forEach传的action是lambda表达式,语法糖,只是对已有写法进行了包装
set.forEach(e -> System.out.println(e));
//元素的个数
System.out.println(set.size());
ArrayList<String> list = new ArrayList<String>();
list.add("aaaa");
list.add("bbbb");
list.add("cccc");
//添加一个集合
set.addAll(list);
//打印
System.out.println(set);
//判断是否包含某个元素
System.out.println(set.contains("aaaa"));
//删除元素
System.out.println(set.remove("aaaa"));
System.out.println(set);
}
}