91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中使用集合類需要注意哪些細節

發布時間:2022-01-10 09:45:55 來源:億速云 閱讀:170 作者:iii 欄目:編程語言

本篇內容主要講解“java中使用集合類需要注意哪些細節”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java中使用集合類需要注意哪些細節”吧!


  1、迭代器:


  迭代器的next方法是自動向下取元素,要避免出現NoSuchElementException。
  也就是在迭代循環中調用一次next方法一次就要hasNext判斷一次,比如語句。
  sop(it.next()+"..."+it.next())會發生上述異常。迭代器的next方法返回值類型是Object,所以要記得類型轉換,應用泛型后就不用強轉。


  2、List集合:


  List集合里面的元素因為是帶角標,所以List集合里面的元素都是有序的,另外List集合可以包含重復元素,也可以包含null。
  List集合有迭代器Iterator,還有一個特有迭代器列表ListIterator。
  List集合中判斷元素是否相同都是用equals方法,無論contains、remove都依賴equals方法,比如往ArrayList集合里面存放學生,同名同年齡視為同一個人,此時就需要在學生類復寫Object類里面的equals方法(非常重要!!!要注意!!)。


  3、Set集合:


  Set接口里面存放的是元素是無序的,不可以有重復元素,可以包含null。
  Set集合只有一種取出方式,就是迭代器Iterator。
  Set集合功能和Collection是一致的,沒有特殊方法。


  3.1、HashSet:


  集合里面存放的元素是無序的,唯一的。
  底層數據結構是哈希表,哈希表結構的數據都是無序的,哈希表結構的操作效率都高效。
  線程不同步。
  保證元素唯一性的原理是:通過復寫hashCode和equals方法。
  如果兩元素的hashCode值相同,則繼續判斷兩元素equals是否為真。
  如果兩元素的hashCode值不同,則不會調用equals方法。
  當我們往HashSet集合存放自定義的元素時(比如學生對象),通常都要復寫hashCode和equals方法,而且hashCode和equals方法不通過我們調用,HashSet集合底層內部自己調用,自己拿元素去比較。


  3.2、TreeSet


  TreeSet集合可以對存放的元素進行排序,彌補了Set集合元素無序的缺點,且元素是唯一的。
  底層數據結構是二叉樹,二叉樹結構都是有序的。
  線程不同步。
  TreeSet集合要求往集合里存放的元素自身具備比較性,否則會報錯。
  TreeSet集合保證元素唯一性的依據是:通過compareTo或者compare方法中的來保證元素的唯一性。TreeSet排序的第一種方式:讓元素自身具備比較性,
  定義元素類實現Compareble接口,覆蓋compare方法,此方式是元素的自然順序。
  TreeSet排序的第二種方式:讓集合具備比較性當元素自身不具備比較性或者具備的比較性不是我們所需要的比較性時,此時就需要讓集合具備自定義的比較性。


  4、Map集合:


  4.1、Hashtable


  底層是哈希表結構線程安全的,并且鍵和值不能為null。


  4.2、HashMap


  底層是哈希表結構線程不安全的,鍵和值可以為null。


  4.3、LinkedHashMap


  底層是鏈表和哈希表線程不安全


  4.4、TreeMap


  底層是二叉樹線程不安全的

到此,相信大家對“java中使用集合類需要注意哪些細節”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天津市| 林西县| 乐至县| 土默特右旗| 横山县| 开平市| 上高县| 枣强县| 绍兴市| 准格尔旗| 张家川| 黔江区| 印江| 霞浦县| 雷州市| 图木舒克市| 汪清县| 荔波县| 浦北县| 社旗县| 福安市| 泰和县| 苗栗市| 得荣县| 瑞安市| 昌宁县| 郁南县| 公安县| 汉阴县| 信宜市| 兴仁县| 中西区| 天祝| 廊坊市| 遂宁市| 葵青区| 锡林浩特市| 广东省| 沾益县| 金川县| 安龙县|