===========================================
package aaa0418; import java.util.LinkedList; public class Test1 { public static void main(String[] args) { LinkedList linkedList=new LinkedList(); linkedList.add("张三"); linkedList.add("李四"); linkedList.add("王五"); Object o = linkedList.get(2); System.out.println(o); } }
LinkedList的底层源码
凡是查询源码 ,我们都是从类的构造方法入手:
/**
* Constructs an empty list.
*/
public LinkedList() {
}
该类的构造方法内是空的,没有任何的代码。 但是该类中有三个属性。
transient int size = 0; //索引
transient Node<E> first; //第一个元素对象
transient Node<E> last; //表示最后一个元素对象。
==================================================================
package aaa0418; import java.util.HashSet; import java.util.Iterator; public class Test2 { public static void main(String[] args) { HashSet hashSet= new HashSet(); //添加操作 hashSet.add("java01"); hashSet.add("java02"); hashSet.add("java04"); hashSet.add("java03"); hashSet.add("java02"); HashSet set2=new HashSet(); set2.add("孙悟空"); set2.add("猪八戒"); set2.add("沙悟净"); hashSet.addAll(set2); System.out.println(hashSet); //删除 hashSet.remove("猪八戒"); //清空 // hashSet.clear(); System.out.println(hashSet); //查询操作判断是否为空 boolean empty = hashSet.isEmpty(); System.out.println(empty); //判断元素是否在容器中 boolean b = hashSet.contains("孙悟空"); System.out.println(b); //遍历 Iterator iterator = hashSet.iterator(); while (iterator.hasNext()){ Object next = iterator.next(); System.out.println(next); } // //遍历--- foreach // for(Object o: hashSet){ // System.out.println(o); // } } }
==========================================================
ackage aaa0418; import java.util.TreeSet; public class Test3 { public static void main(String[] args) { TreeSet treeSet=new TreeSet(); treeSet.add("java05"); treeSet.add("java03"); treeSet.add("java06"); treeSet.add("java01"); treeSet.add("java02"); treeSet.add("java04"); System.out.println(treeSet); } }
[java01, java02, java03, java04, java05, java06]
=========================================================
package aaa0418; import java.util.TreeSet; public class Test4 { public static void main(String[] args) { TreeSet treeSet=new TreeSet(); treeSet.add(new Student("孙悟空",600)); treeSet.add(new Student("猪八戒",409)); treeSet.add(new Student("二郎神",666)); treeSet.add(new Student("白龙马",259)); System.out.println(treeSet); } } class Student implements Comparable{ private String name; private Integer age; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Student(String name, Integer age) { this.name = name; this.age = age; } public Student() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public int compareTo(Object o) { Student student= (Student) o; System.out.println(this+"===================>"+o); if(this.age>student.age){ return 1; } if(this.age<student.age){ return -1; } return 0; } }
Student{name='孙悟空', age=600}===================>Student{name='孙悟空', age=600}
Student{name='猪八戒', age=409}===================>Student{name='孙悟空', age=600}
Student{name='二郎神', age=666}===================>Student{name='孙悟空', age=600}
Student{name='白龙马', age=259}===================>Student{name='孙悟空', age=600}
Student{name='白龙马', age=259}===================>Student{name='猪八戒', age=409}
[Student{name='白龙马', age=259}, Student{name='猪八戒', age=409}, Student{name='孙悟空', age=600}, Student{name='二郎神', age=666}]
Process finished with exit code 0