叨逼叨两句

得收拾啦~~~
明天得出门回避一下~~

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的特有功能

  1. addFirstaddLast
  2. removeFirstremoveLast
  3. getFirstgetLast
  4. 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:栈和队列数据结构

  1. 栈——先进后出
  2. 队列——先进先出

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();
    }
    
    
}


Wall_Breaker
2.1k 声望1.2k 粉丝

生死之间,就是我的跃迁之路,全程记录,欢迎见证