package set;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import org.junit.Test;
public class JTest {
@Test
public void test1() {//定义一个单元测试方法
//将4个城市保存到Set集合容器中
//第1步:创建并实例化一个HashSet集合容器
//HashSet集合容器的特点:
//(1)在HashSet中保存的元素是无序的
//(2)在HashSet中保存的元素是唯一的(也就是说:HashSet中不会存在相同的元素)
//(3)HashSet底层原理基于Hash算法,元素没有索引,所以遍历HashSet需要使用[迭代器]Iterator
Set<String> cities = new HashSet<String>();
//第2步:通过add方法向集合中添加元素
cities.add("北京");
cities.add("上海");
cities.add("杭州");
cities.add("深圳");
//第3步:通过增强型for循环遍历HashSet集合容器获取集合容器中保存的所有元素
// for(String s : cities) {
// System.out.println(s);
// }
//第3步:通过迭代器Iterator遍历HashSet集合容器获取集合容器中保存的所有元素
Iterator<String> itr = cities.iterator();//获取HashSet集合对象中的迭代器
while(itr.hasNext()) {//hashNext()判断是否还存在元素
//System.out.println(itr.next());//next()获取元素
String c = itr.next();//获取元素
if("深圳".equals(c)) {
itr.remove();//删除
}
}
//cities.clear();//清除HashSet集合中所有的元素
//第3步:通过增强型for循环遍历HashSet集合容器获取集合容器中保存的所有元素
for(String s : cities) {
System.out.println(s);
}
}
@Test
public void test2() {
Set<String> num = new HashSet<String>();
num.add("one");
num.add("two");
num.add("three");
num.add("four");
num.add("four");
for(String s : num) {
System.out.println(s);
}
}
@Test
public void test3() {
//定义HashSet集合容器,存字符串
Set<String> strs = new HashSet<String>();
String s1 = new String("123");
String s2 = new String("123");
//将2个字符串对象保存到集合容器中
strs.add(s1);
strs.add(s2);
//循环遍历输出
for(String s : strs) {
System.out.println(s);
}
}
@Test
public void test4() {
//LinkedHashSet中存储的数据是有序且唯一的
Set<String> cities = new LinkedHashSet<String>();
cities.add("北京");
cities.add("上海");
cities.add("杭州");
cities.add("深圳");
for(String s : cities) {
System.out.println(s);
}
}
@Test
public void test5() {
//LinkedHashSet中存储的数据是有序且唯一的
List<Integer> height = new ArrayList<Integer>();
height.add(180);
height.add(169);
height.add(185);
height.add(157);
height.add(169);
// for(String s : height) {
// System.out.println(s);
// }
System.out.println("*******排序前********");
System.out.println(height);
System.out.println("*******排序后********");
Collections.sort(height);
System.out.println(height);
System.out.println("最大值:"+Collections.max(height));
System.out.println("最大值:"+Collections.min(height));
}
}
package set;
//给对象进行排序
public class User implements Comparable<User>{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}
//重写toString方法
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
//重写ComparaTo
@Override
public int compareTo(User o) {
if(this.age>o.age) {
return 1;
}else if(this.age<o.age) {
return -1;
}else {
return 0;
}
}
}
package set;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestUser {
public static void main(String[] args) {
List<User> list = new ArrayList<User>();
list.add(new User("张三", 18));
list.add(new User("李四", 22));
list.add(new User("王五", 48));
list.add(new User("赵六", 15));
//给对象进行排序
Collections.sort(list);
//循环输出
for(User l : list) {
System.out.println(l);
}
System.out.println("年龄最大的是:"+Collections.max(list));
System.out.println("年龄最小的是:"+Collections.min(list));
}
}