
class Node<E> {
E item;
Node<E> next;
Node<E> prev;
}
public class LInkedListTest {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
for(String s :list) {
System.out.println(s);
}
}
}

| 方法 | 说明 |
|---|---|
| void addFirst(E e) | 将指定元素插入到开头 |
| void add Last(E e) | 将指定元素插入到结尾 |
| getFirst() | 返回此列表的第一个元素 |
| getLast() | 返回此列表的最后一个元素 |
| removeFirst() | 移除此列表中的第一个元素,并返回这个元素 |
| removeLast() | 移除此列表中的最后一个元素,并返回这个元素 |
| E pop() | 从此列表所表示的堆栈处弹出一个元素,等效于removeFirst |
| voidpush(E e) | 将元素推入此列表所表示的堆栈这个等效于addFisrt(E e) |
| booleanisEmpty() | 判断列表是否包含元素,如果不包含元素则返回true |
private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
}

/**
* @author 缘友一世
* date 2022/11/23-9:03
*/
public class HashSetTest {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("a");
set.add("d");
set.add("b");
set.add("a");
//获取元素,在set容器中没有索引,没有对应的get方法。
for(String s:set) {
System.out.println(s);
}
boolean flag = set.remove("d");
System.out.println(flag);
for(String s:set) {
System.out.println(s);
}
System.out.println(set.size());
}
}

/**
* @author 缘友一世
* date 2022/11/23-9:11
*/
public class Users {
private String userName;
private int userAge;
public Users() {
}
public Users(String userName, int userAge) {
this.userName = userName;
this.userAge = userAge;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
@Override
public int hashCode() {
int result=userName !=null ? userName.hashCode():0;
result=31*result+userAge;
return result;
}
@Override
public boolean equals(Object o) {
if(this==o) return true;
if(o==null || getClass()!=o.getClass()) return false;
Users users = (Users) o;
if(userAge!=users.userAge) return false;
return userName!=null ? userName.equals(users.userName):false;
}
@Override
public String toString() {
return "Users{" +
"userName='" + userName + '\'' +
", userAge=" + userAge +
'}';
}
}
class Test {
public static void main(String[] args) {
HashSet<Users> set1 = new HashSet<>();
Users aaa = new Users("aaa", 19);
Users bbb = new Users("aaa", 19);
set1.add(aaa);
set1.add(bbb);
for(Users user:set1) {
System.out.println(user);
}
}
}

/**
* @author 缘友一世
* date 2022/11/23-9:30
*/
public class TreeSetTest {
public static void main(String[] args) {
TreeSet<String> set = new TreeSet<>();
set.add("c");
set.add("a");
set.add("b");
set.add("1");
for(String str:set) {
System.out.println(str);
}
}
}


/**
* @author 缘友一世
* date 2022/11/23-12:53
*/
public class SortTest {
public static void main(String[] args) {
TreeSet<Users2> set1 = new TreeSet<>();
Users2 aaa = new Users2("aaa", 19);
Users2 ccc = new Users2("ccc", 17);
Users2 bbb = new Users2("bbb", 19);
set1.add(aaa);
set1.add(bbb);
set1.add(ccc);
for(Users2 user:set1) {
System.out.println(user);
}
}
}
class Users2 implements Comparable<Users2> {
private String userName;
private int userAge;
public Users2() {
}
public Users2(String userName, int userAge) {
this.userName = userName;
this.userAge = userAge;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
@Override
public int hashCode() {
int result=userName !=null ? userName.hashCode():0;
result=31*result+userAge;
return result;
}
@Override
public boolean equals(Object o) {
if(this==o) return true;
if(o==null || getClass()!=o.getClass()) return false;
Users2 users = (Users2) o;
if(userAge!=users.userAge) return false;
return userName!=null ? userName.equals(users.userName):false;
}
@Override
public String toString() {
return "Users{" +
"userName='" + userName + '\'' +
", userAge=" + userAge +
'}';
}
@Override
public int compareTo(Users2 o) {
if(this.userAge>o.getUserAge()) {
return 1;
}
if(this.userAge==o.getUserAge()) {
return this.userName.compareTo(o.getUserName());
}
return -1;
}
}

/**
* @author 缘友一世
* date 2022/11/23-13:24
*/
class Test {
public static void main(String[]args){
TreeSet<student> set = new TreeSet<>(new ComparatorTest());
student ooo = new student("ooo", 18);
student aaa = new student("aaa", 22);
student sss = new student("sss", 22);
set.add(ooo);
set.add(aaa);
set.add(sss);
for(student x:set) {
System.out.println(x);
}
}
}
public class ComparatorTest implements Comparator<student> {
//定义比较规则
@Override
public int compare(student o1, student o2) {
if(o1.getAge()>o2.getAge()) {//升序
return 1;
}else if(o1.getAge()==o2.getAge()) {
return o1.getName().compareTo(o2.getName());
}
return -1;
}
}
class student {
private String name;
private int age;
public student() {
}
public student(String name, int age) {
this.name = name;
this.age = 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;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
student student = (student) o;
return age == student.age && Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}

/**
* @author 缘友一世
* date 2022/11/23-13:36
*/
public class SetDemo {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
while(true) {
int num=(int)(Math.random()*10+1);
if(!list.contains(num)) {
list.add(num);
}
if(list.size()==10) {
break;
}
}
for(Integer x:list) {
System.out.println(x);
}
}
}

/**
* @author 缘友一世
* date 2022/11/23-13:36
*/
public class SetDemo {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
while(true) {
//set容器是不允许有重复元素的,所以不需要
int num=(int)(Math.random()*10+1);
set.add(num);
if(set.size()==10) {
break;
}
}
for(Integer i:set) {
System.out.println(i);
}
}
}
