Set集合的特征

mac2024-01-24  35

Set集合的特征:

存储的元素(引用数据类型)无序的,不可重复的 HashSet 内部存储是一个散列表。 HashSet 内部实现是一个HashMap

集合存在的意义就是存储对象

Hashset 集合存储对象的原理Hsshset 存储对象,先判断对象的hashcode值是否存在与散列表中。如果没有,就存入Set集合。如果有 再判定,两个对象的equals是否相同。 如果equals相同 不存储 如果equals不同,则存入。set 集合中 有两个相同的hashcode。 但不可能有两个相同的equals; //接口 = 实现类 Set<String> set = new HashSet<String>(); // 实现类 = 实现类 HashSet<String> hSet = new HashSet<String>(); hSet.add("dahuang"); //Set提供的方法。 set.add("adsdas"); set.add("hello"); set.add("java"); set.add("sqi"); set.add("jace"); set.add("ezzz"); //Set不可重复存放元素。 set.add("ezzz"); //遍历Set集合 System.out.println(set.toString()); //数组的长度//集合 System.out.println(set.size()); //addall//将另外一个对象添加到Set集合里 set.addAll(hSet); System.out.println(set.toString()); //clear 清楚集合中所有元素 // set.clear(); // System.out.println(set.size());//0; // //是否包含某个元素 System.out.println(set.contains("java")); //hashCode哈希值 System.out.println(set.hashCode()); //删除某个元素 set.remove("java"); set.remove("ezzz"); System.out.println(set.toString()); //集合的遍历 1:toArray Object[] objs = set.toArray(); for(Object obj:objs){ String str = (String)obj; System.out.print(str+" "); } System.out.println("\n************************"); //集合的遍历 2: forEach for(String str:set){ System.out.print(str+" "); } System.out.println("\n********************************"); //集合的遍历 3 : Iterator 迭代器 游标 // Iterator<String> iterator=set.iterator(); // while (iterator.hasNext()){//hasNext 下一位是否还有值 // System.out.print(iterator.next()+" ");//输出下一位的值。 // // } Iterator<String> iteartor=set.iterator(); while (iteartor.hasNext()) { System.out.print(iteartor.next()+" "); } Iterator<String> iteartor1=set.iterator(); while (iteartor1.hasNext()) { System.out.println(iteartor1.next()+" "); }
最新回复(0)