Set
Book
package bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book implements Comparable {
private String name;
private String author;
private int price;
private int sales;
@Override
public int compareTo(Object o) {
Book book = (Book) o;
int x = this.author.compareTo(book.getAuthor());
int y = this.price - book.getPrice();
int z = this.sales - book.getSales();
int k = this.name.compareTo(book.getName());
if (x != 0) {
return x;
} else if (y != 0) {
return -y;
} else if (z != 0) {
return -z;
} else if (k != 0) {
return k;
} else {
return 0;
}
}
}
TreeSetTest
package Test.set;
import bean.Book;
import org.junit.jupiter.api.Test;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
@Test
public void test(){
Set books = new TreeSet<>();
// books.add(new Book("f", "B", 35, 180));
books.add(new Book("a", "A", 35, 150));
books.add(new Book("b", "B", 35, 150));
books.add(new Book("c", "A", 33, 150));
books.add(new Book("d", "B", 33, 150));
books.add(new Book("e", "A", 35, 180));
books.add(new Book("f", "B", 35, 180));
Iterator it = books.iterator();
while (it.hasNext()){
Book book = it.next();
System.out.println(book);
}
}
}
LinkedHashSetTest
package Test.set;
import org.junit.jupiter.api.Test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
public class LinkedHashSetTest {
@Test
public void test01() {
Set set = new HashSet();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
set.add(a);
set.add(b);
set.add(c);
set.add(d);
set.add(e);
set.add(f);
set.add(g);
set.add(h);
set.add(a);
System.out.println(set);
}
//[6.0, 1, a, 2, 3, 4, 5.0, false]
@Test
public void test02() {
Set set = new LinkedHashSet();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
set.add(a);
set.add(b);
set.add(c);
set.add(d);
set.add(e);
set.add(f);
set.add(g);
set.add(h);
set.add(a);
System.out.println(set);
}
//[1, 2, 3, 4, 5.0, 6.0, a, false]
@Test
public void test03() {
Set set = new LinkedHashSet();
set.add(2);
set.add(1);
set.add(1);
System.out.println(set);
}
//[2, 1]
@Test
public void test04() {
Set set = new LinkedHashSet<>();
for (int i = 0; i < 5; i++) {
set.add("xm" + (i + 1));
}
System.out.println(set);
for (String name : set) {
System.out.println(name);
}
}
@Test
public void test05() {
Set set = new LinkedHashSet<>();
for (int i = 0; i < 5; i++) {
set.add("xm" + (i + 1));
}
System.out.println(set);
Iterator it = set.iterator();
while (it.hasNext()) {
String name = it.next();
System.out.println(name);
}
}
}
HashSetTest
package Test.set;
import org.junit.jupiter.api.Test;
import java.util.*;
public class HashSetTest {
@Test
public void test01() {
List list = new ArrayList();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);
list.add(f);
list.add(g);
list.add(h);
list.add(a);
System.out.println(list);
}
//[1, 2, 3, 4, 5.0, 6.0, a, false, 1]
@Test
public void test02() {
Set set = new HashSet();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
set.add(a);
set.add(b);
set.add(c);
set.add(d);
set.add(e);
set.add(f);
set.add(g);
set.add(h);
set.add(a);
System.out.println(set);
}
//[6.0, 1, a, 2, 3, 4, 5.0, false]
@Test
public void test03() {
Set set = new HashSet();
set.add(2);
set.add(1);
set.add(1);
System.out.println(set);
}
//[1, 2]
@Test
public void test04() {
Set set = new HashSet<>();
for (int i = 0; i < 5; i++) {
set.add("xm" + (i + 1));
}
System.out.println(set);
for (String name : set) {
System.out.println(name);
}
}
@Test
public void test05() {
Set set = new HashSet<>();
for (int i = 0; i < 5; i++) {
set.add("xm" + (i + 1));
}
System.out.println(set);
Iterator it = set.iterator();
while (it.hasNext()) {
String name = it.next();
System.out.println(name);
}
}
}