堆栈 Stack:表示一个先进后出的数据结构
// list集合
private LinkedList lst = new LinkedList();
/**
* 压栈
*
* @param ject
*/
public void push(Object obj) {
lst.addFirst(obj);
}
/**
* 出栈
*
* @return
*/
public Object pop() {
Object first = lst.getFirst();
lst.removeFirst();
return first;
}
/**
* 计算
*
* @return
*/
public int size() {
return lst.size();
}
public static void main(String[] args) {
// 初始化
MyStack stack = new MyStack();
// 压栈
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
stack.push("e");
while (stack.size() != 0) {
Object val = stack.pop();
System.out.println(val);
}
}
遍历(2种)
foreach
Set<Student> set = new HashSet<>();
set.add(new Student(1,"sw",100f));
set.add(new Student(2,"daw",50f));
set.add(new Student(3,"dsa",30f));
for (Student student : set) {
System.out.println(student);
}
迭代器
Set<Student> set = new HashSet<>();
set.add(new Student(1,"sw",100f));
set.add(new Student(2,"daw",50f));
set.add(new Student(3,"dsa",30f));
//迭代器
Iterator<Student> it = set.iterator();
//循环遍历
while(it.hasNext()) {
System.out.println(it.next());
}
TreeSet:根据某种(规则)对里面的元素进行排序
Set<Student> set = new TreeSet<>();
set.add(new Student(1,"sw",100f));
set.add(new Student(2,"daw",50f));
set.add(new Student(3,"dsa",30f));
set.forEach(System.out::println);
实体类代码
@Override
public int compareTo(Student o) {
// 比较着大于被比较着,返回1
// 比较着等于被比较着,返回0
// 比较着小于被比较着,返回-1
// if(this.getSid()>o.getSid())
// return 1;
// else {
// if(this.getSid()==o.getSid())
// return 0;
// else
// return -1;
// }
return this.getSid()-o.getSid();
}
打//能用只是简化了