HashSet简单讲解

HashSet简单讲解HashSet 简单的理解就是 HashSet 对象中不能存储相同的数据 存储数据时是无序的 但是 HashSet 存储元素的顺序并不是按照存入时的顺序 和 List 显然不同 是按照哈希值来存的所以取数据也是按照哈希值取得 存储是无序的这就和 C 里的 Set 就不一样了 C 里面的 Set 是有序的我认为这是在使用时候的主要区别 下面就是 HashSet 简单的用法 一 申请方式括号里面的类型是随你的需要更改的

HashSet简单的理解就是HashSet对象中不能存储相同的数据,存储数据时是无序的。但是HashSet存储元素的顺序并不是按照存入时的顺序(和List显然不同) 是按照哈希值来存的所以取数据也是按照哈希值取得。存储是无序的这就和C++里的Set就不一样了C++里面的Set是有序的我认为这是在使用时候的主要区别。下面就是HashSet简单的用法:

.申请方式HashSet简单讲解括号里面的类型是随你的需要更改的。

二.常用方法:

   类型                                            方法名                                          功能

   boolean                                    add(E e)                                       如果当前列表中不存在e, 则将e加入列表

   void                                           clear()                                           从列表中删除所有元素

   boolean                                     contains(Object j)                        判断列表中是否有元素j

   Iterator<E>                                iterator()                                      得到当前列表的遍历器

   boolean                                      remove(Object j)                         如果列表中存在元素j,则将其从列表中删除

   int                                               size()                                       得到列表中元素的个数

.遍历的方法:

         1.用Iterator来遍历

            HashSet简单讲解

            这是比较常用的方法, 但是这种方法在使用的时候HashSet修改一次之后如果想再次遍历,必须重新申请Iterator,否则               无法遍历,但是把Itetator放在一个函数里, 那么就省去多次申请Iterator了。

            2.这种方法就是用for循环遍历。

               HashSet简单讲解

             这种方法我感觉还行,具体用那种方法遍历自己斟酌。

四.简单的使用

package cn.java.text.Main; import java.util.*; public class Main4 {//HashSet public static void main(String[] args) { // TODO Auto-generated method stub Scanner ip = new Scanner(System.in); HashSet<String> hashSet = new HashSet<String>(); int i; String aString; for(i = 0; i < 6; i++) { aString = ip.next(); hashSet.add(aString);//加入列表 } Iterator<String> iterator = hashSet.iterator();//遍历器 while(iterator.hasNext())System.out.print(iterator.next()+" ");//判断是否有,有就输出 String bString; bString = ip.next(); hashSet.remove(bString);//删除 /*Iterator iterator2 = hashSet.iterator(); while(iterator2.hasNext()) {//遍历器遍历 System.out.print(iterator2.next()+" "); }*/ for(String string: hashSet)System.out.print(string + " ");//for循环遍历 } } 

HashSet简单讲解

五.当HashSet是整型时

HashSet简单讲解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232397.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最短路径四大算法「建议收藏」

    最短路径四大算法「建议收藏」熟悉的最短路算法就几种:bellman-ford,dijkstra,spfa,floyd。首先说明一点,就是关于负环的问题。bellman-ford可以用于边权为负的图中,图里有负环也可以,如果有负环,算法会检测出负环。时间复杂度O(VE);dijkstra只能用于边权都为正的图中。时间复杂度O(n2);spfa是个bellman-ford的优化算法,本质是bellman-for

    2022年6月3日
    35
  • Idea激活码永久有效Idea2020.3.2激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2020.3.2激活码教程-持续更新,一步到位Idea激活码永久有效2020.3.2激活码教程-Windows版永久激活-持续更新,Idea激活码2020.3.2成功激活

    2022年6月17日
    64
  • 汉诺塔问题java代码_汉诺塔java实现结果

    汉诺塔问题java代码_汉诺塔java实现结果Java基础语法(汉罗塔)1起源2需求3分析3.11个碟子3.22个碟子3.33个碟子3.44个碟子3.5规律4代码实现:直接算法5代码实现封装:栈的思想1起源汉罗塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。2需求将汉罗塔问题抽象到数学:

    2022年10月11日
    2
  • C++ 静态库动态库的一些经验总结「建议收藏」

    C++ 静态库动态库的一些经验总结「建议收藏」C++ 静态库动态库的一些经验总结

    2022年4月22日
    71
  • JAVA8 Stream接口,map操作,filter操作,flatMap操作

    JAVA8 Stream接口,map操作,filter操作,flatMap操作这篇,我们来看Stream的一些中间操作,关于中间操作的一些介绍,可以看《JAVA8stream接口中间操作和终端操作》1,filter操作,我们先看方法的定义Stream<T>filter(Predicate<?superT>predicate);这个方法,传入一个Predicate的函数接口,关于Predicate函数接口定义,可以查看《JAV…

    2022年5月4日
    39
  • Buzzcast_buzz killer

    Buzzcast_buzz killerEpisode49ofTheSitePointPodcastisnowavailable!ThisweekyourhostsareStephanSegraves(@ssegraves),BradWilliams(@williamsba),andKevinYank(@sentience).SitePointPodcast的第49集现已发布!本周…

    2022年10月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号