Java的集合、Iterator迭代器

集合java

集合是java中提供的一種容器,能夠用來存儲多個數據。並且集合的長度是可變的。集合中存儲的元素必須是引用類型數據(ArrayList)數組

ArrayList類發現它繼承了抽象類AbstractList同時實現接口List,而List接口又繼承了Collection接口。Collection接口爲最頂層集合接口spa

List接口容許重複的有序排列,Set接口不容許重複而且是無序排列code

Collection基本用法對象

public class Demo {
	public static void main(String[] args) {
		Collection<String> col = new ArrayList<String>();
		col.add("你好");
		col.add("雙十一");
		col.add("買買買");
		Object obj = col.remove("1");  //移除col集合中的1並返回一個布爾值
		System.out.println(obj);
		System.out.println(col.contains("雙十一"));  //若是col包含此元素,返回一個布爾值
		ArrayList<String> list = (ArrayList<String>) col;  //向下轉型
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
	}
}

  

Object[] obj1 = col.toArray();//返回一個數組
		for (int i = 0; i < obj1.length; i++) {
			System.out.println(obj1[i]);
		}

  往集合中添加對象元素。add方法,建立集合時所指定的數據類型如<String>,那麼,添加的是String類型;建立集合時若沒有指定數據類型,那麼,Object類型。blog

public static void main(String[] args) {
        //Collection也能夠不寫範型
        Collection col = new  ArrayList();
        col.add("abc");
        col.add(123);
        col.add(12.3);
        //ArrayList 也能夠不寫範型
        ArrayList   list = (ArrayList)col;
        for(int i = 0;i < list.size();i++){
            if(list.get(i) instanceof String){
                System.out.println(list.get(i));
            } 
            if(list.get(i) instanceof Integer){
                System.out.println(list.get(i));
            } 
        }    
    }

  

Iterator迭代器繼承

在取元素以前先要判斷集合中有沒有元素,若是有,就把這個元素取出來,繼續在判斷,若是還有就再取出出來。一直把集合中的全部元素所有取出。這種取出方式專業術語稱爲迭代。接口

public static void main(String[] args) {
//		迭代器
		Collection<String>col = new ArrayList<String>();
		col.add("123");		
		col.add("abc");
		Iterator<String>it = col.iterator();
		System.out.println(it.hasNext());
		System.out.println(it.next());
		System.out.println(it.hasNext());
		System.out.println(it.next());
		System.out.println(it.hasNext());
	}

  

集合元素的向下轉型rem

public static void method03() {
		Collection col = new ArrayList();
		col.add(new Person("熊大",22));
		col.add("111");
		col.add(23456);
		Iterator it = col.iterator();
		while(it.hasNext()) {
			Object obj = it.next();///當須要使用子類對象特有方法時,須要向下轉型, 不然報錯
			if(it.next() instanceof String) {//「111」
				String s = (String)it.next();//是23456
				System.out.println(s.length());
			}
		}		
	}

  

相關文章
相關標籤/搜索