java基础之ArrayLis类
生活随笔
收集整理的這篇文章主要介紹了
java基础之ArrayLis类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
1:ArrayList類(lèi)概述
2:解釋
3:ArrayList案例
存儲(chǔ)字符串并遍歷
存儲(chǔ)自定義對(duì)象并遍歷
去除集合中字符串的重復(fù)值(字符串的內(nèi)容是否相同)
1:ArrayList類(lèi)概述
底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢 線程不安全,效率高
2:解釋
由于ArrayLis類(lèi)繼承List而List繼承Collection接口所以ArrayLis實(shí)現(xiàn)了他們的方法
3:ArrayList案例
存儲(chǔ)字符串并遍歷
package day25;import java.util.ArrayList; import java.util.Iterator;public class Test1 {public static void main(String[] args) {ArrayList a = new ArrayList();//創(chuàng)建ArrayLis對(duì)象//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");//利用迭代器遍歷集合Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();System.out.println(next);}} }存儲(chǔ)自定義對(duì)象并遍歷
package day25;public class Student {private int age;private String name;public Student(int age, String name) {this.age = age;this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Student() {}@Overridepublic String toString() {return "Student{" +"age=" + age +", name='" + name + '\'' +'}';} } package day25;import java.util.ArrayList; import java.util.Iterator;public class Test4 {public static void main(String[] args) {ArrayList a = new ArrayList();//創(chuàng)建ArrayList對(duì)象//創(chuàng)建三個(gè)學(xué)生對(duì)象Student s1 = new Student(18, "小華");Student s2 = new Student(19, "小亮");Student s3 = new Student(20, "小明");//將xuesh對(duì)象加入到集合中a.add(s1);a.add(s2);a.add(s3);//迭代器獲取集合中每個(gè)元素Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();Student s=(Student) next;//向下轉(zhuǎn)型System.out.println(s.getName()+"**"+s.getAge());//輸出學(xué)生姓名和年齡}} }去除集合中字符串的重復(fù)值(字符串的內(nèi)容是否相同)
第一種:定義一個(gè)新數(shù)組來(lái)存儲(chǔ)contains判斷
package day25;import java.util.ArrayList; import java.util.Iterator;public class Test5 {public static void main(String[] args) {ArrayList a = new ArrayList();//創(chuàng)建ArrayLis對(duì)象ArrayList b = new ArrayList();//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");a.add("hello");a.add("world");a.add("java");a.add("abc");//迭代器獲取集合a中元素Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();//判斷b中是否有相同的元素,沒(méi)有就添加到b中if(!b.contains(next)){b.add(next);}}//迭代器獲取b中元素Iterator iterator1 = b.iterator();while(iterator1.hasNext()){Object next = iterator1.next();System.out.println(next);}} }第二種:雙重循環(huán)利用選擇排序與后面的數(shù)比較若是有重復(fù)就remove
package day25;import java.util.ArrayList; import java.util.Iterator;public class Test6 {public static void main(String[] args) {ArrayList a = new ArrayList();//創(chuàng)建ArrayLis對(duì)象//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");a.add("hello");a.add("world");a.add("java");a.add("abc");//利用選擇排序查找重復(fù)的元素for(int i=0;i<a.size();i++){for(int j=i+1;j<a.size()-1;j++){//判斷要是有重復(fù)就刪除,然后前移一個(gè)if(a.get(i).equals(a.get(j))){a.remove(j);--j;}}}//迭代器變量a集合Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();System.out.println(next);}} }總結(jié)
以上是生活随笔為你收集整理的java基础之ArrayLis类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python车流量检测车流统计车辆计数y
- 下一篇: 常用DB9外设接口定义