Java 集合框架2

一、关于set接口的常用类

        1.HashSet类

           用来处理无序的单列数据,没有重复的元素,重复的元素算一个

           i.构造方法

//HashSet类是set接口的子类,是无序的单列数据,没有重复的元素,重复的元素算一个
//HashSet的构造方法
//HashSet()  默认创建一个空集合,初始容量为16,负载因子是0.75
HashSet hashSet = new HashSet();
//HashSet(Collection) 将Collection的子类,转化为HashSet类对象
ArrayList arrayList = new ArrayList();
HashSet hashSet1 = new HashSet(arrayList);
//HashSet(int?initialCapacity) 构造一个新的空集合; 具有指定的初始容量和默认负载因子(0.75)
HashSet hashSet2 = new HashSet(24);
//HashSet(int?initialCapacity, float?loadFactor) 具有指定的初始容量和指定的负载因子
HashSet hashSet3 = new HashSet(35,0.5f);

          ii.实例方法

//HashSet类是处理无序的列表,因此没有关于位置的方法
//1.boolean add(Object obj) 添加元素,返回boolean
hashSet.add("ceshi");
hashSet.add(323);
hashSet.add("test");
hashSet.add("男");
hashSet.add(323);
System.out.println(hashSet);
//2.int size() 返回列表的长度
System.out.println(hashSet.size());
//3.boolean contains(Object obj) 列表中是否包含指定元素
System.out.println(hashSet.contains(323));
//4.boolean isEmpty() 是否为空列表
System.out.println(hashSet.isEmpty());
//5.boolean remove(Object obj) 根据元素值,移除指定元素
System.out.println(hashSet.remove(323));
System.out.println(hashSet);


//循环遍历
//因为没有顺序,也就没有位置,所以普通for无法使用
//增强型for循环
System.out.println("--------------增强型for循环------------");
for (Object object:hashSet){
     System.out.println(object);
}

//迭代器循环遍历
System.out.println("--------------迭代器循环遍历------------");
Iterator iterator = hashSet.iterator();
while (iterator.hasNext()){
       Object object = iterator.next();
       System.out.println(object);
}

        2.LinkedHashSet类

           LikedHashSet类是HashSet类的子类

            i.构造方法:

//LinkedHashSet类是HashSet类的子类,是无序的单列数据,没有重复的元素,继承了父类的方法
//LinkedHashSet的构造方法
//LinkedHashSet()  默认创建一个空集合,初始容量为16,负载因子是0.75
LinkedHashSet linkedHashSet= new LinkedHashSet();
//LinkedHashSet(Collection) 将Collection的子类,转化为LinkedHashSet类对象
ArrayList arrayList = new ArrayList();
LinkedHashSet linkedHashSet1 = new LinkedHashSet(arrayList);
//LinkedHashSet(int?initialCapacity) 构造一个新的空集合; 具有指定的初始容量和默认负载因子(0.75)
LinkedHashSet linkedHashSet2 = new LinkedHashSet(24);
//LinkedHashSet(int?initialCapacity, float?loadFactor) 具有指定的初始容量和指定的负载因子
LinkedHashSet linkedHashSet3 = new LinkedHashSet(35,0.5f);

           ii.实例方法

//LinkedHashSet中的方法,没有关于位置的方法,因为是无序的
//1.boolean add(Object obj) 添加元素,返回boolean
linkedHashSet.add("ceshi");
linkedHashSet.add(323);
linkedHashSet.add("test");
linkedHashSet.add("男");
linkedHashSet.add(323);
System.out.println(linkedHashSet);
//2.int size() 返回列表的长度
System.out.println(linkedHashSet.size());
//3.boolean contains(Object obj) 列表中是否包含指定元素
System.out.println(linkedHashSet.contains(323));
//4.boolean isEmpty() 是否为空列表
System.out.println(linkedHashSet.isEmpty());
//5.boolean remove(Object obj) 根据元素值,移除指定元素
System.out.println(linkedHashSet.remove(323));
System.out.println(linkedHashSet);


//循环遍历
//因为没有顺序,也就没有位置,所以普通for无法使用
//增强型for循环
System.out.println("--------------增强型for循环------------");
for (Object object:linkedHashSet){
     System.out.println(object);
}

//迭代器循环遍历
System.out.println("--------------迭代器循环遍历------------");
Iterator iterator = linkedHashSet.iterator();
while (iterator.hasNext()){
       Object object = iterator.next();
       System.out.println(object);
}

 

 

你可能感兴趣的:(java,开发语言)