版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woxueplc/article/details/80410690
容器Set基本特征:
1. 没有顺序, 不可放重复值,最多放一个空值。
2. 实现方式为HashMap, 基本为数组加链表
基本用法见Demo:
public static void main(String[] args){ Set<String> firstSet = new HashSet<String>(); //1.add new element. firstSet.add("AAA"); firstSet.add("BBB"); firstSet.add("CCC"); System.out.println("tempSet = "+firstSet.toString()); //2.functions contains() if (firstSet.contains("AAA")) { System.out.println("Contain AAA!"); } // 3.functions isEmpty() if (!firstSet.isEmpty()) { System.out.println("Not empty!"); } // 4. delelet element firstSet.remove("AAA"); System.out.println("tempSet = "+firstSet.toString()); // 5. Iterator related issues. Iterator<String> mIterable = firstSet.iterator(); while (mIterable.hasNext()) { String str = mIterable.next(); System.out.println("str = "+str); } // 6. equals() Set secondSet = new HashSet(); secondSet.add("AAA"); if (!firstSet.equals(secondSet)) { System.out.println("\"firstSet\" is not equals to \"secondTempSet\""); } }输出:
tempSet = [AAA, CCC, BBB]
Contain AAA!
Not empty!
tempSet = [CCC, BBB]
str = CCC
str = BBB
"firstSet" is not equals to "secondTempSet"
Process finished with exit code 0
关于 Demo,重点关注迭代器的用法:
迭代器中主要三个函数:
hasNext(): 判断指针当前位置的下一个位置是否为空.
Next: 指针移动到当前位置的下一个位置.
remove: 移除当前位置的元素.
关于迭代器模式,会单独写篇文档来讲解.