叨逼叨两句
得收拾啦~~~
明天得出门回避一下~~
16-1:去除ArrayList中重复字符串元素的方式
package com.test.regex;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo25 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("a");
list.add("c");
list.add("c");
list.add("a");
ArrayList kk = getSingle(list);
System.out.println(kk);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newList = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
if(!(newList.contains(obj))){
newList.add(obj);
}
}
return newList;
}
}
16-2:去除ArrayList中重复自定义对象元素
contains、remove方法底层都需要使用equals方法,如果不重写参数中对象的equals方法,它将使用Object类中的equanls方法,将对象地址值视为评判是否相等的标准。
public boolean equals(Object obj){
Student anotherObj = (Student)obj;
return this.name == anotherObj.name && this.age == anotherObj.age;
}
package com.test.regex;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo25 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张三",23));
list.add(new Student("张四",23));
ArrayList obj = getSingle(list);
System.out.println(obj);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newList = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
if(!(newList.contains(obj))){
newList.add(obj);
}
}
return newList;
}
}
16-3:LinkedList的特有功能
- addFirstaddLast
- removeFirstremoveLast
- getFirstgetLast
- get(int index)
package com.test.regex;
import java.util.LinkedList;
public class Demo26 {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
System.out.println(list);
list.addFirst("First");
System.out.println(list);
list.addLast("Last");
System.out.println(list);
System.out.println(list.getFirst());
System.out.println(list.getLast());
System.out.println(list.removeFirst()+"已被移除");
System.out.println(list);
System.out.println(list.removeLast()+"已被移除");
System.out.println(list);
System.out.println(list.get(1));
}
}
16-4:栈和队列数据结构
- 栈——先进后出
- 队列——先进先出
16-5:用LinkedList模拟栈数据结构并测试
package com.test.regex;
import java.util.LinkedList;
public class Demo27 {
public static void main(String[] args) {
//demo01();
Stack s = new Stack();
s.in("a");
s.in("b");
s.in("c");
s.in("d");
s.in("e");
while(!(s.isEmpty())){
System.out.println(s.out());
}
}
public static void demo01() {
LinkedList list = new LinkedList();
list.addLast("a");
list.addLast("b");
list.addLast("c");
list.addLast("d");
System.out.println(list);
while(!(list.isEmpty())){
System.out.println(list.removeLast());
}
}
}
class Stack {
private LinkedList list = new LinkedList();
public void in(Object obj){
list.addLast(obj);
}
public Object out(){
return list.removeLast();
}
public boolean isEmpty(){
return list.isEmpty();
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。