日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

List集合相关应用

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 List集合相关应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.定義一個Collection類型的集合,存儲以下字符串:
“JavaEE企業級開發指南”,
“Oracle高級編程”,
“MySQL從入門到精通”,
“Java基礎教程”
完成以下功能
1.刪除書名字符小于10個的元素,并打印
2.打印書名中包含“Java”的元素

public class Demo5 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("JavaEE企業級開發指南");list.add("Oracle高級編程");list.add("MySQL從入門到精通");list.add("Java基礎教程");//打印書名中包含“Java”的元素for (int i = 0; i < list.size(); i++) {if (list.get(i).contains("Java")) {System.out.println(list.get(i));}}System.out.println("---------------------");//刪除書名字符小于10個的元素,并打印刪除元素for (int i = 0; i < list.size(); i++) {if(list.get(i).length()<10){String s = list.remove(i);System.out.println(s);}}System.out.println("---------------------");//刪除書名字符小于10個的元素,并打印刪除后集合list.removeIf(s -> {return s.length() < 10;});for (String s : list) {System.out.println(s);}} }打印結果: ------------------------------------------------------ JavaEE企業級開發指南 Java基礎教程 --------------------- Java基礎教程 --------------------- JavaEE企業級開發指南 Oracle高級編程 MySQL從入門到精通

2.元素刪除
刪除元素“bbb"【兩種方式用其一】

public class Demo2 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("bbb");list.add("ccc");list.add("ddd");//方法一:迭代器刪除Iterator<String> it = list.iterator();while (it.hasNext()){String s = it.next();if("bbb".equals(s)){it.remove();//迭代器遍歷元素時,集合不能參入其中//所以不能用集合的刪除方法,否則出現并發修改異常}}System.out.println(list);---------------------------------------------------------------//方法二:集合刪除for (int i = 0; i < list.size(); i++) {if("bbb".equals(list.get(i))){list.remove(list.get(i));i--;//由于刪除后,集合后面的元素索引會+1,避免刪除元素連續錯過}}System.out.println(list);} }

3.自定義集合【用于面試】
實現增刪改查功能,實現迭代器超級接口

public class Test3 {public static void main(String[] args) {MyList<String> myList = new MyList<>();myList.add("hello");myList.add("world");myList.add("java");Iterator it = myList.iterator();while (it.hasNext()){Object o = it.next();System.out.println(o);}} }//實現此接口允許對象成為“for-each loop”語句的目標 class MyList<T> implements Iterable {//數組用于存儲元素private Object[] array = {};//集合的長度private int size = 0;//初始化長度,默認為10個元素public MyList() {array = new Object[10];}//添加元素public void add(T t) {//1.先記錄添加元素的位置int index = size;//2.判斷這個位置的是否可以添加元素if (index >= array.length) {//如果不能添加了,則將數組長度變成1.5倍,右移的優先級比加減法更低Object[] newArray = new Object[array.length + (array.length >> 1)];//再將原數組的元素復制到新數組中System.arraycopy(array, 0, newArray, 0, size);//把新數組的地址值重新賦值給原數組array = newArray;}//沒滿,則添加元素array[index] = t;size++;}//修改元素public void set(int index, T t) {//先判斷索引是否越界,如果是,就拋出異常if (index >= size) {throw new IndexOutOfBoundsException(index + "索引越界了");}//否則返回數組中的index位置的元素array[index] = t;}//獲取元素public Object get(int index) {//先判斷索引是否越界,如果是,就拋出異常if (index >= size) {throw new IndexOutOfBoundsException(index + "索引越界了");}//否則返回該元素return array[index];}//刪除元素public void delete(int index) {//先判斷索引是否越界,如果是,就拋出異常if (index >= size) {throw new IndexOutOfBoundsException(index + "索引越界了");}//否則刪除該元素array[index] = null;/*for (int i = index; i < array.length - 1; i++) {array[i] = array[i + 1];}//最后一個元素需要置空array[array.length-1]=null;*/for (int i = index; i < size; i++) {array[i] = array[i + 1];}size--;}//獲取長度public int size() {return size;}//遍歷方法public void printMyList() {for (Object o : array) {if (o != null) {System.out.println(o);}}}//迭代器public Iterator iterator() {return new Ttr();}//自定義迭代器類class Ttr<T> implements Iterator<T> {//從0索引開始,往后面一個一個的獲取元素int index = 0;@Overridepublic boolean hasNext() {return array[index] != null;}@Overridepublic T next() {//獲取當前元素T e = (T) array[index];index++;return e;}} }打印結果: ----------------------------------------------------------- hello world java

總結

以上是生活随笔為你收集整理的List集合相关应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。