ArrayList的remove方法(重写equals方法) 与LinkedList的常用操作
生活随笔
收集整理的這篇文章主要介紹了
ArrayList的remove方法(重写equals方法) 与LinkedList的常用操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package C12_18;import java.util.ArrayList;public class joy {public static void main(String[] args) {show();//重寫equals方法,移除集合里面的元素。public static void show() {ArrayList<dog> al = new ArrayList<dog>();al.add(new dog("jj", 12));al.add(new dog("bb", 10));al.add(new dog("cc", 18));//遍歷方式1 arr.get(index);for (int i = 0; i < al.size(); i++) {System.out.println(al.get(i).name);}System.out.println("--------");//遍歷方式2 把集合轉換成數組Object[] array = al.toArray();for (int i = 0; i < array.length; i++) {System.out.println(al.get(i).name);}System.out.println("--------");//遍歷方式3 foreach (還有一種用迭代器)al.remove(new dog("cc", 18));for (dog d : al) {System.out.println(d.toString());}}}class dog {String name;int age;public dog(String name, int age) {super();this.name = name;this.age = age;}public dog() {super();}public String toString() {return this.name;}public boolean equals(Object o) {if (o instanceof dog) {dog d = (dog)o;return d.name.equals(this.name) && d.age == this.age;}return false;}//這個只針對自定義引用對象啦。//之前remove方法里面比較的是對象,就自然不相等啦,可是當我重寫了equals方法,只要滿足age和name相等,就保證可以移除啦。//如果是自定義引用類型, 就注意equals方法是否要重寫。
}
Result:
jj bb cc -------- jj bb cc -------- jj bb
Remove 方法 Else里面的equals方法重寫了object里面的equals方法, 比較對象。
但是remove的對象是一個新的學生, 用上面的方法肯定是返回false , 不可移除。所以重寫了只要age 和 name 相同便可移除。
LinkedList
總結
以上是生活随笔為你收集整理的ArrayList的remove方法(重写equals方法) 与LinkedList的常用操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tensorflow2.0学习(八) —
- 下一篇: 打jar包和执行jar包