大家好,又见面了,我是你们的朋友全栈君。
Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 LIst集合:链接: Java中List集合的三种遍历方式(全网最详) 集合区别:链接: java中list,set,map集合的区别,及面试要点
1.迭代遍历: Set set = new HashSet(); Iterator it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.println(str); }
2.for循环遍历: for (String str : set) { System.out.println(str); }
优点还体现在泛型 假如 set中存放的是Object
Set set = new HashSet(); for循环遍历: for (Object obj: set) { if(obj instanceof Integer){ int aa= (Integer)obj; }else if(obj instanceof String){ String aa = (String)obj } …
}
1 Set集合介绍 Collection接口可以存放重复元素,也可以存放不重复元素。List可以存放重复元素,Set就是不重复的元素。 通过元素的equals方法,来判断是否为重复元素。 Set集合取出元素的方式可以采用:迭代器,增强 for
2 HashSet(哈希表) 此类实现了Set接口,由哈希表(实际是HashMap实例)支持。它不保证set的迭代顺序,特别是它不保证该顺序恒久不变。此类允许使用null元素。
特点:无序集合,存储和取出的顺序不同,没有索引,不存储重复元素。代码的编写和ArrayList完全一致。 HashSet特点: 底层数据结构:哈希表(链表和数组的结合体); 存储取出都比较快; 线程不安全,运行速度快; 3 对象的哈希值 如果没有重写父类,每次运行的结果都是不同的整数; 如果子类重写父类的方法,哈希值,自定义; 存储到HashSet的依据; 4 字符串的哈希值 String类继承Object,重写了父类的方法hashCode,
5 哈希表的存储过程
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add(new String("abc"));
set.add(new String("abc"));
set.add(new String("abc"));
set.add(new String("bbc"));
set.add(new String("bbc"));
System.out.println(set);
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133348.html原文链接:https://javaforall.cn