java 容器之Set

版权声明:本文为博主原创文章,未经博主允许不得转载。 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: 移除当前位置的元素.

关于迭代器模式,会单独写篇文档来讲解.

猜你喜欢

转载自blog.csdn.net/woxueplc/article/details/80410690
今日推荐