java集合类set

set 的特点是:

1.不允许存储重复的元素

2.没有索引,没有带索引的方,不能直接使用for 遍历

 

hashset 的特点:

1.不允许存储重复的元素

2.没有索引,没有带索引的方,不能直接使用for 遍历

3.是一个无序集合,存储元素的顺序和取出元素的顺序可能不同

4.底层是一个hash表结构,(查询速度非常快)

hashset 的示例:

package com.collectiondo;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class TestSet {
    public static void main(String[] args) {
        Set set=new HashSet();
        set.add("路飞");
        set.add("路飞");
        set.add("娜美");
        set.add("索隆");
        set.add("山治");

        //迭代器的方式遍历
        Iterator it=set.iterator();
        while(it.hasNext()){
            System.out.println("迭代器:"+it.next()  );
        }
        //增强for 遍历
        for(Object s:set){
            System.out.println("增强for:"+s);
        }
    }
}

输出结果是:

迭代器:山治
迭代器:娜美
迭代器:索隆
迭代器:路飞
增强for:山治
增强for:娜美
增强for:索隆
增强for:路飞
//从结果可以看出,存元素和取元素的顺序是不同的,而且里面的值不能重复

 

LinkedHashset底层是哈希表(数组+链表/红黑树)加(链表) 的结构,多了一个链表,是存储元素的顺序的,所以说LinkedHashset是有序的

示例就不写了,都是add 和for 遍历,比如存入的顺序是 "a","b","c" ,那么取出元素时的顺序也是"a","b","c" 

 

posted @ 2020-08-27 14:05  呆马and鸽子  阅读(242)  评论(0)    收藏  举报