`
肉林100
  • 浏览: 14099 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

学习集合框架中HashSet和ArrayList后的总结与一点小感悟

阅读更多
    HashSet在存储和取出数据时是无序的(也不是无序的,是根据HashMap来的),这就是能解释为什么HashSet不能存储相同的数据的出发点。打个比方,在一群排列不齐混乱的人中,要一个叫A的人出来,于是就叫“A,请出来一下”,这时很有可能有2个甚至更多的人也叫A,就不知道哪个A该出来。所以HashSet中是不存在相同数据的。
    而对于ArrayList而言,ArrayList就可以存储相同的数据。这是因为存储数据时是存到数组中的,是有序的。同样也打个比方,在一群排列有序的人中,要一个叫A的人出来,很有可能有2个甚至更多的人也叫A,就因为是有序的,所以可以叫“排在第几个位置的A,请出来一下”,这样就不会有差错。所以ArrayList就可以存储相同的数据。另外ArrayList可以对存入其中的数据进行修改,而HashSet则不可以。
    学习之后,我在想,既然HashSet不允许有相同的数据在里面,那么它就可以用来“过滤”相同的数据,让得到的结果里没有相同的数据。
    应用实例:编写程序将a[]={12,34,56,78,123,89,67,34,21,98,345,1,123,2,11}中重复的数去掉,并将它们按从大到小的顺序排列。
这道题,就综合使用了以上的两个集合框架实现类。(存入HashSet用HashSet去除相同的数,再存入ArrayList进行排序)
分享到:
评论

相关推荐

    java笔记图解10

    2. **集合框架**:Java集合框架是处理对象组的关键工具,包括接口(如List、Set、Queue)和实现(如ArrayList、HashSet、LinkedList等)。这些接口和实现提供了丰富的操作,如添加、删除、查找元素等。Java集合框架...

    java笔记图解11

    "听课感想.pdf"可能包含的是学习过程中的个人理解和感悟,这在学习过程中非常重要,因为它能帮助我们巩固知识,发现自己的弱点,并从中提炼出实际应用中的技巧和经验。 最后,"study_CoreJava.pdf"很可能是一份详尽...

    It实习报告范文5000字 (2).docx

    3. 集合框架:Java 集合框架包括 ArrayList、LinkedList、HashSet、HashMap 等数据结构,它们提供了存储和操作对象的高效方式。实习中,我们学习了如何选择合适的集合类型,以及如何使用迭代器遍历集合和进行集合...

    一个java程序员的个人博客,记录博主的学习,生活中的一些有趣的事,并分享Java方面技术和源码。.zip

    4. **集合框架**:Java集合框架包括List、Set、Map等接口及其实现类,博主可能深入解析了这些接口的使用,如ArrayList、LinkedList、HashSet、HashMap等,并给出了实际场景下的应用示例。 5. **IO与NIO**:Java的...

    java基础的详细案例笔记

    8. **集合框架**:如ArrayList、LinkedList、HashSet、HashMap等,这些都是存储和操作数据的重要工具,笔记会介绍它们的特性和使用场景。 9. **函数式编程**:Java 8引入了Lambda表达式和Stream API,这使得Java...

    java笔记图解14

    "听课感想.pdf"可能包含了作者对课程的理解和感悟,而"day13"可能是该系列笔记的第十三天内容,可能涵盖了更多的细节或专题讨论。通过这样的学习资源,开发者不仅可以巩固理论知识,还能提高实际编程能力,为成为一...

    java实验报告很齐全的

    4. **集合框架**:Java集合框架包括List、Set、Map等接口和ArrayList、LinkedList、HashSet、HashMap等实现类。实验报告会介绍它们的特点、用法及操作示例。 5. **IO流**:Java的输入输出流系统提供了对文件、网络...

    java软件开发——顶岗实习周记25篇.rar

    3. **集合框架**:熟悉ArrayList、LinkedList、HashMap、HashSet等集合类的使用,了解它们的特点和适用场景。 4. **异常处理**:学习如何使用try-catch-finally语句来捕获和处理程序运行时可能出现的异常。 5. **...

    程序员心得

    3. **集合框架**:学习ArrayList、LinkedList、HashMap、HashSet等集合类的用法,以及泛型、迭代器等概念。 4. **IO与NIO**:了解输入/输出流的使用,以及Java NIO(非阻塞I/O)的优势和应用场景。 5. **多线程**...

    Java夜未眠.程序员的心声

    4. **集合框架**:Java集合框架包括List、Set、Map等接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等,这是处理数据的重要工具。 5. **IO流**:Java的IO流系统是进行输入输出操作的关键,包括文件...

    一个计算机专业学生几年的编程经验汇总

    作为一个计算机专业的学生,在过去的学习过程中,对于 Java 编程语言有了较为深入的理解与实践。下面将分享一些个人的经验与感悟,希望能够帮助到同专业的同学们。 #### 一、Java 基础知识与学习路径 **1.1 学习 ...

    JAVA:我正在学习Java的废话

    Java中的集合框架是一个强大的工具,包括ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和操作对象的不同方式。IO流和NIO(New IO)用于处理输入输出,例如读写文件、网络通信等。异常处理是Java编程中...

Global site tag (gtag.js) - Google Analytics