Java(17) Set

news/2024/12/28 15:55:53/

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;@Overridepublic 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 {@Testpublic void test(){Set<Book> 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<Book> it = books.iterator();while (it.hasNext()){Book book = it.next();System.out.println(book);}/*
Book(name=e, author=A, price=35, sales=180)
Book(name=a, author=A, price=35, sales=150)
Book(name=c, author=A, price=33, sales=150)
Book(name=f, author=B, price=35, sales=180)
Book(name=b, author=B, price=35, sales=150)
Book(name=d, author=B, price=33, sales=150)*/}
}

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;/*** List: 有序可重复 有序指的是下标有序 可重复指的是不同下标位置上可以存储相同值的元素* Set: 无序不可重复 录入的顺序和存储的顺序不一致 不可重复指的是相同值的元素不可重复存储*/
public class LinkedHashSetTest {@Testpublic 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]@Testpublic 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]@Testpublic void test03() {Set set = new LinkedHashSet();set.add(2);set.add(1);set.add(1);System.out.println(set);}
//[2, 1]@Testpublic void test04() {Set<String> 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);}}
/*
[xm1, xm2, xm3, xm4, xm5]
xm1
xm2
xm3
xm4
xm5*/@Testpublic void test05() {Set<String> set = new LinkedHashSet<>();for (int i = 0; i < 5; i++) {set.add("xm" + (i + 1));}System.out.println(set);Iterator<String> it = set.iterator();while (it.hasNext()) {String name = it.next();System.out.println(name);}}
/*
[xm1, xm2, xm3, xm4, xm5]
xm1
xm2
xm3
xm4
xm5*/
}

HashSetTest

package Test.set;import org.junit.jupiter.api.Test;import java.util.*;/*** List: 有序可重复 有序指的是下标有序 可重复指的是不同下标位置上可以存储相同值的元素* Set: 无序不可重复 录入的顺序和存储的顺序不一致 不可重复指的是相同值的元素不可重复存储*/
public class HashSetTest {@Testpublic 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]@Testpublic 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]@Testpublic void test03() {Set set = new HashSet();set.add(2);set.add(1);set.add(1);System.out.println(set);}
//[1, 2]@Testpublic void test04() {Set<String> 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);}}
/*
[xm5, xm2, xm1, xm4, xm3]
xm5
xm2
xm1
xm4
xm3*/@Testpublic void test05() {Set<String> set = new HashSet<>();for (int i = 0; i < 5; i++) {set.add("xm" + (i + 1));}System.out.println(set);Iterator<String> it = set.iterator();while (it.hasNext()) {String name = it.next();System.out.println(name);}}
/*
[xm5, xm2, xm1, xm4, xm3]
xm5
xm2
xm1
xm4
xm3*/
}

http://www.ppmy.cn/news/207160.html

相关文章

andorid: adb pull app data

Android 用adb pull或push 拷贝手机文件到到电脑上&#xff0c;拷贝手机数据库到电脑上&#xff0c;拷贝电脑数据库到手机上 adb pull sdcard/contacts_app.db adb push aaa/contacts_app.db /sdcard/

如何找回删除的微信好友?

如何找回删除的微信好友&#xff1f; 本篇主要是说朋友圈无互动过&#xff0c;也没有任何标签和其他特殊标记&#xff0c;不知道微信号&#xff0c;手机号的微信好友&#xff0c;误删之后如何通过恢复数据方式恢复好友的办法。百度之后主要有如下几种方法&#xff1a;1.朋友圈有…

深度学习之路

偶然在github上看到Awesome Deep Learning项目&#xff0c;故分享一下。其中涉及深度学习的免费在线书籍、课程、视频及讲义、论文、教程、网站、数据集、框架和其他资源&#xff0c;包罗万象&#xff0c;非常值得学习。 其中研究人员部分篇幅所限本文未整理进来。另外上面的G…

linux实用指令

linux实用指令 1.指定运行级别 linux运行级别总共7级&#xff0c;常用级别为3和5 第一级&#xff1a;0&#xff1a;关机 第二级&#xff1a;1&#xff1a;单用户【找回丢失密码】 第三级&#xff1a;2&#xff1a;多用户状态没有网络服务 第四级&#xff1a;3&#xff1a…

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...): singular fit encountered

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...): singular fit encountered 目录 Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...): singular fit encountered 类似的错误

5.SQL数据库存储过程操作

本篇文章旨在帮助大家熟练掌握SQL数据库存储过程操作&#xff0c;加深大家对SQL数据库存储过程的理解. 文章目录 参考表格属性仓库管理类的操作产品销售类的操作进阶!自动生成编号方法1方法2 参考表格属性 见第一篇文章 2.SQL查询语句的操作和练习 仓库管理类的操作 1&#xf…

吴恩达机器学习课程笔记

吴恩达机器学习 几乎每一个和我讨论过的人都同意&#xff0c;人生的最糟糕时期是在11岁到14岁。——《黑客与画家》 学习资料 课程 b站[中英字幕]吴恩达机器学习系列课程 Coursera机器学习 Coursera深度学习 主成分数据选择那里有一节课没有字幕&#xff0c;建议移步Course…

IxAttack1.29版本应用在XM2机框上的16口LSM卡的问题。

简单介绍一个IxAttack1.29&#xff0c;它是IXIA的一个免费的攻击测试软件。程序都是用TCL编写的。而且是图形界面。界面比较有好。 大家可以去IXIA网站下载。 IxAttack1.29 主要应用在STX板卡上的。近来因工作的要求&#xff0c;需要在XM2机框上的16口LSM板卡上运行这个软件。 …