国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Collection集合

2019-11-08 01:43:13
字體:
供稿:網(wǎng)友

1.Collection 集合包括 list  和 set 集合

2.  list集合:子類  ArrayList 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢,線程不安全,效率高

        LinkedList     底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快,線程不安全,效率高

特有功能:void  addFirst()   void   addLast()等等

         Vector 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢,線程安全,效率低,但一般不用

注意:list集合的 void add(int index,E element):在指定位置添加元素

E set(int index,E element) :在指定位置修改元素,返回被修改的元素

3.  list集合特有功能:ListIterator<E> listIterator();  此迭代器特有功能:boolean hasprevious();   E PRevious();可以實現(xiàn)集合的逆向遍歷,但必須先正向遍歷

	//List集合遍歷并修改元素		List<String> list=new ArrayList<String>();		//添加元素		list.add("Hello");		list.add("world");		list.add("java");		//注意不能迭代器遍歷,集合修改元素,否則會發(fā)生并發(fā)修改異常ConcurrentModificationException 		//遍歷集合  1.迭代器遍歷,迭代器修改元素			ListIterator<String> ls=list.listIterator();		while(ls.hasNext()){			if(ls.next().equals("world")){				ls.set("c++");			}		}		System.out.println(list);//[Hello, c++, java]		//2.集合遍歷,集合修改		for(int x=0;x<list.size();x++){			if(list.get(x).equals("world")){				list.set(1,"c++");			}		}		System.out.println(list);//[Hello, c++, java]		4. 將一個數(shù)組轉(zhuǎn)成一個list集合

/*把數(shù)組轉(zhuǎn)換成集合 * String> List<String> java.util.Arrays.asList(String... arg0) * 注意事項:可以把集合轉(zhuǎn)換成數(shù)組,但必須注意數(shù)組的長度不能改變, *         (String... arg0) 本質(zhì)是數(shù)組		List<String> list1 =Arrays.asList("Hello","java","123");		//list1.add("javaee");//UnsupportedOperationException		//list1.remove(1);//UnsupportedOperationException		list1.set(1, "world");		for(String s:list1){			System.out.println(s);		}5. set集合和list集合的區(qū)別

set集合元素是唯一的,同時是無序的(即元素存儲和遍歷的時候,順序可能不一樣)

list集合元素可以重復(fù),是有序的(即元素存儲和遍歷順序一樣)

6. set集合 :子類 hashSet  底層數(shù)據(jù)結(jié)構(gòu)是哈希表,保證元素唯一性

   LinkedHashset底層數(shù)據(jù)結(jié)構(gòu)是哈希表和鏈表,鏈表保證元素有序(即元素存儲和遍歷順序一樣)

TreeSet 底層數(shù)據(jù)結(jié)構(gòu)是二叉樹結(jié)構(gòu)(紅黑樹是一種自平衡的二叉樹結(jié)構(gòu)),并且能夠按照某種規(guī)則對元素進行排序

  set集合的唯一性是依賴于hashCode()和equals()方法

7.TreeSet  

    A:自然排序    自定義對象的時候必須實現(xiàn)Comparable接口          存儲:第一個為根節(jié)點 ,之后的元素按照(通過底層的Comparable()方法,大的(即返回值為正數(shù))排在根節(jié)點的右邊,小的(即返回值為負的)排在根節(jié)點的左邊);          遍歷:從根節(jié)點開始,按照左中右的順序依次遍歷    B:比較器排序           new TreeSet(Comparator<? super E> comparator)  ;    Comparator 是個接口,實際上要的是一個該接口的子類對象 所以一般用匿名內(nèi)部類


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 金川县| 调兵山市| 凤冈县| 阳春市| 富川| 开封市| 阳东县| 德阳市| 稷山县| 苍南县| 北碚区| 鲁甸县| 西充县| 叙永县| 仪征市| 巴彦县| 衡水市| 敦煌市| 噶尔县| 监利县| 行唐县| 廉江市| 翼城县| 武汉市| 手游| 库伦旗| 财经| 河曲县| 杭锦后旗| 上犹县| 大冶市| 淳安县| 郸城县| 兰考县| 景东| 巩义市| 稻城县| 乐都县| 定襄县| 宣化县| 邵东县|