1. 程式人生 > 實用技巧 >java基礎隨筆12

java基礎隨筆12

一、請簡述集合框架。

集合是單列集合類的根介面,用於儲存一系列符合某種規則的元素,它有兩個重要的子介面,分別是java.util.Listjava.util.Set。其中,List的特點是元素有序、元素可重複。Set的特點是元素無序,而且不可重複。List介面的主要實現類有java.util.ArrayListjava.util.LinkedListSet介面的主要實現類有java.util.HashSetjava.util.TreeSet


二、給定以下程式碼,請定義方法listTest()統計集合中指定元素出現的次數,如"a": 2,“b”: 2,"c" :1, “xxx”:0。

package com.ben.www;

import java.util.ArrayList;
import java.util.List;

public class Demo2 {
    static   void listTest(List<String> arrayList,String val){
        int a=0;
        for (String list:arrayList) {
            if (list.equals(val)){
                a++;
            }
            
        }
        System.
out.println(val+""+a); } public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); list.add("d"); list.add("e"); list.add("b"); list.add(
"a"); list.add("c"); list.add("xxx"); list.add("a"); list.add("b"); list.add("c"); list.add("xxx"); listTest(list,"a"); listTest(list,"b"); listTest(list,"c"); listTest(list,"xxx"); } }


三、定義一個方法,要求此方法把int陣列轉成存有相同元素的集合(集合裡面的元素是Integer),並返回。

package com.ben.www;

import java.util.ArrayList;
import java.util.List;

public class Demo3 {
    static ArrayList zhuan(int[] list){
        ArrayList<Integer> arr1=new ArrayList<Integer>();
        for (Integer val:list) {
            arr1.add(val);
        }
        return arr1;

    }
    public static void main(String[] args) {
        int[] arr= {1,5,3,6,73,4};
        System.out.println(zhuan(arr));

    }
}


四、定義一個集合,並把集合(集合裡面的元素是Integer)轉成存有相同元素的陣列,並將結果輸出在控制檯。(可以使用Object[]陣列型別接收轉換的陣列)

package com.ben.www;

import java.util.ArrayList;

public class Demo4 {
    public static void main(String[] args) {
        Integer[] arr={1,54,3,6,1,46,57};
        ArrayList<Object> arrlist=new ArrayList<Object>();
        for (Integer arr1:arr
             ) {
            arrlist.add(arr1);
        }
        System.out.println(arrlist);

    }
}


五、定義一個方法listTest(ArrayList al, String s),要求使用contains()方法判斷al集合裡面是否包含s。

package com.ben.www;

import java.util.ArrayList;

public class Demo5 {
    static boolean listTest(ArrayList a1, String s){
            return a1.contains(s);


    }
    public static void main(String[] args) {
        ArrayList a1=new ArrayList();
        a1.add("a");
        a1.add("r");
        a1.add("e");
        a1.add("s");
        a1.add("w");
        if (listTest(a1,"ss") == true) {
            System.out.println("包含有");
        }else {
            System.out.println("沒有包含");
        }
    }
}


六、請簡述迭代器的實現原理

package com.ben.www;

public class Demo6 {
    /*
    * 在Java中遍歷List時會用到Java提供的Iterator,Iterator十分好用,原因是:

迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。

  Java中的Iterator功能比較簡單,並且只能單向移動:

  (1) 使用方法iterator()要求容器返回一個Iterator。第一次呼叫Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。

  (2) 使用next()獲得序列中的下一個元素。

  (3) 使用hasNext()檢查序列中是否還有元素。

  (4) 使用remove()將迭代器新返回的元素刪除。
* */
}


七、定義一個方法listTest(ArrayList al, Integer s),要求返回s在al裡面第一次出現的索引,如果s沒出現過返回-1。

package com.ben.www;

import java.util.ArrayList;

public class Demo7 {
    static int listTest(ArrayList a1, Integer s){

        return a1.indexOf(s);
    }
    public static void main(String[] args) {
        ArrayList arr=new ArrayList();
        arr.add(3);
        arr.add(5);
        arr.add(6);
        arr.add(1);
        arr.add(7);



        System.out.println(listTest(arr,11));
    }
}