set集合特點及遍歷方法


因為Set接口繼承Collection接口,它與List集合的區別就是:List集合可以保存重復的數據,而Set集合不可以

此外,Set接口有三個常用實現類:

  1.HashSet,特點:

  • 它不按照存儲的順序保存,具有不確定性,也就是說每一次遍歷集合出的元素排序不一定相同;
  • 允許使用null元素

 

  2.LinkedHashSet,特點:

  • 它是HashSet的子類,但它卻是按照自然順序保存的(不是簡單的線性順序)
  • 由於該實現類對象維護者一個運行於所有元素的雙重鏈接列表,且該鏈接列表定義了一個迭代順序(從名字上就可以看出Linked,被鏈接的,各個元素之間有一定的關系),
  • 所以在遍歷該實現類集合時按照元素的插入順序進行遍歷


  3.TreeSet,特點:

  • 及實現Set接口,也實現了SortedSet接口,具有排序功能
  • 存入TreeSet中的對象元素需要實現Comparable接口

 

 如下有一個set集合:

  Set<String> names = new HashSet<String>();//多態,<String>泛型,用於限制存入集合中的元素的數據類型

  //add(Object element)用於向集合中添加元素,添加成功返回true,否則返回false
  System.out.println(names.add("劉一"));//true
  System.out.println(names.add("陳二"));//true
  System.out.println(names.add("張三"));//true
  System.out.println(names.add("張三"));//false


1.增強型for循環(for-each

  for(String name:names){

    System.out.println(name);

   }

2.迭代器遍歷

  Iterator<String> iterator = names.iterator();//<String>泛型
  while(iterator.hasNext()){ //hasNext()用於判斷是否含有下一個元素
    System.out.println(iterator.next());//next()用於指向下一個元素
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM