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进行排序)
分享到:
相关推荐
2. **集合框架**:Java集合框架是处理对象组的关键工具,包括接口(如List、Set、Queue)和实现(如ArrayList、HashSet、LinkedList等)。这些接口和实现提供了丰富的操作,如添加、删除、查找元素等。Java集合框架...
"听课感想.pdf"可能包含的是学习过程中的个人理解和感悟,这在学习过程中非常重要,因为它能帮助我们巩固知识,发现自己的弱点,并从中提炼出实际应用中的技巧和经验。 最后,"study_CoreJava.pdf"很可能是一份详尽...
3. 集合框架:Java 集合框架包括 ArrayList、LinkedList、HashSet、HashMap 等数据结构,它们提供了存储和操作对象的高效方式。实习中,我们学习了如何选择合适的集合类型,以及如何使用迭代器遍历集合和进行集合...
4. **集合框架**:Java集合框架包括List、Set、Map等接口及其实现类,博主可能深入解析了这些接口的使用,如ArrayList、LinkedList、HashSet、HashMap等,并给出了实际场景下的应用示例。 5. **IO与NIO**:Java的...
8. **集合框架**:如ArrayList、LinkedList、HashSet、HashMap等,这些都是存储和操作数据的重要工具,笔记会介绍它们的特性和使用场景。 9. **函数式编程**:Java 8引入了Lambda表达式和Stream API,这使得Java...
"听课感想.pdf"可能包含了作者对课程的理解和感悟,而"day13"可能是该系列笔记的第十三天内容,可能涵盖了更多的细节或专题讨论。通过这样的学习资源,开发者不仅可以巩固理论知识,还能提高实际编程能力,为成为一...
4. **集合框架**:Java集合框架包括List、Set、Map等接口和ArrayList、LinkedList、HashSet、HashMap等实现类。实验报告会介绍它们的特点、用法及操作示例。 5. **IO流**:Java的输入输出流系统提供了对文件、网络...
3. **集合框架**:熟悉ArrayList、LinkedList、HashMap、HashSet等集合类的使用,了解它们的特点和适用场景。 4. **异常处理**:学习如何使用try-catch-finally语句来捕获和处理程序运行时可能出现的异常。 5. **...
3. **集合框架**:学习ArrayList、LinkedList、HashMap、HashSet等集合类的用法,以及泛型、迭代器等概念。 4. **IO与NIO**:了解输入/输出流的使用,以及Java NIO(非阻塞I/O)的优势和应用场景。 5. **多线程**...
4. **集合框架**:Java集合框架包括List、Set、Map等接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等,这是处理数据的重要工具。 5. **IO流**:Java的IO流系统是进行输入输出操作的关键,包括文件...
作为一个计算机专业的学生,在过去的学习过程中,对于 Java 编程语言有了较为深入的理解与实践。下面将分享一些个人的经验与感悟,希望能够帮助到同专业的同学们。 #### 一、Java 基础知识与学习路径 **1.1 学习 ...
Java中的集合框架是一个强大的工具,包括ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和操作对象的不同方式。IO流和NIO(New IO)用于处理输入输出,例如读写文件、网络通信等。异常处理是Java编程中...