java中,集合定义主要是在java.util*包下,常用的集合在系统中定义了三大接口,分别Set,List,Map。
List接口提供了有序的访问集合中元素的方法,所谓有序就是:可根据对象放入时的次序来查找对象。List接口中,常用的实现类是java.util.Vector和java.util.ArratList。测试代码如下:
public class ListTest { //主函数 public static void main(String[] args){ List<Object> list = new ArrayList<Object>(); //添加元素 list.add(1); list.add(3); list.add(1); list.add(2); //遍历输出 for(int i = 0;i < list.size();i ++) System.out.println(list.get(i)+""); System.out.println(list); } }
得到的结果如下:
1
3
1
2
[1, 3, 1, 2]
3
1
2
[1, 3, 1, 2]
说明输出时的顺序与输入的先后顺序有关而与别的没有关系,这就是所谓的有序。而且List中可以同时存在相同的元素。需要注意的是,List是一个接口,所以我们需要通过它的子类比如ArrayList来实现。
Set的对象不按特定的顺序排列,与你输入的顺序无关。同样,由于Set也是一个接口,所以我们通过HashSet来实现这个接口。由于set中元素是无序的,所以没有下标可言,我们需要通过迭代器来将其遍历输出。测试代码如下:
public class SetTest { public static void main(String[] args){ Set<Object> set = new HashSet<Object>(); set.add(1); set.add(2); set.add("aaa"); set.add("ccc"); set.add(4); set.add(1); //set迭代器 Iterator<Object> it = set.iterator(); //遍历 while(it.hasNext()) System.out.println(it.next()); System.out.println(set); } }
其结果如下:
1
2
aaa
4
ccc
[1, 2, aaa, 4, ccc]
2
aaa
4
ccc
[1, 2, aaa, 4, ccc]
这说明set中的元素与输入的顺序是无关的,我们是用的hashset来实现的,所以元素按照hashset中的算法来排列。而且,set中的元素是不能够重复的。
Map中存放两个元素:key和value。这两个对象是一一对应的关系,其中key值是唯一的,value的值允许相同,也就是一种映射的关系。测试代码如下:
public class MapTest { public static void main(String[] args){ Map<Object,Object> map = new HashMap(); map.put(1, 2); map.put("aaa", "bbb"); map.put(3, 2); System.out.println(map); //得到map中所有key的值 Set<Object> set = map.keySet();//keySet返回值是set类型 Iterator<Object> it = set.iterator(); //迭代key while(it.hasNext()){ System.out.println(it.next()); } } }
测试结果如下:
{1=2, 3=2, aaa=bbb}
1
3
aaa
1
3
aaa
由于map也是无序的,所以keySet的返回值是set而不是list。
相关推荐
本文档旨在深入探讨Chrome UI框架的基本概念、架构及其实现原理,尤其关注于作者邱金武在学习过程中积累的经验和心得。以下内容将详细阐述Chrome UI框架的几个核心方面。 #### 二、基本结构与组成 ##### 1. 控件...
该压缩包文件“【5层】公司办公楼全套设计 (3156平,含计算书、建筑图,结构图、实习报告,PKPM,答辩PPT).zip”包含了一个完整的五层公司办公楼的设计资料,这是一份全面的建筑设计与工程文档集合。以下是基于这个...
7. **页面结构**:页面的基础框架,由横切、布局元素如导航、主体内容、侧边栏等组成,决定了页面的整体布局和内容分布。 8. **焦点区**:页面中最吸引用户注意力的区域,通常用于展示重要信息或引导用户操作。 9....
3. **集合框架**:Java集合框架是项目中不可或缺的部分,我学会了ArrayList、LinkedList、HashSet、HashMap等各种数据结构的使用,理解了它们的性能特性和适用场景。 4. **IO流**:在处理文件输入输出时,我学习了...
Java集合框架广泛使用了设计模式,如迭代器模式(Iterator Pattern)、工厂方法模式(Factory Method Pattern)、装饰器模式(Decorator Pattern)、适配器模式(Adapter Pattern)等。通过研究这些设计模式的实际...
开发者可能使用了Java集合框架,如ArrayList、LinkedList、HashMap等来存储和操作数据。 2. **MVC设计模式**:为了实现清晰的代码结构,项目很可能采用了Model-View-Controller(MVC)设计模式。Model负责数据处理...
3. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等容器的使用,以及泛型的理解。 4. **IO流**:学习如何读写文件,理解字节流和字符流的区别,以及缓冲区的概念。 5. **多线程**:线程的创建、同步机制...
### Oracle初学者入门心得知识点详解 #### 一、Oracle学习方向定位 Oracle作为一个庞大的数据库管理系统,为...通过以上介绍,初学者可以对Oracle的整体框架有一个较为全面的认识,为后续深入学习打下坚实的基础。
3. 高级主题:涵盖异常处理、多线程、集合框架、IO流等内容,增强学生的编程技巧。 4. 项目实践:安排实际的编程项目,让学生运用所学知识解决实际问题。 三、教学方法 1. 案例驱动:以生动的实例引入新概念,使...
这可能涵盖了异常处理、多线程、集合框架的使用、反射、注解、IO流、 Lambda表达式等Java特性。这些内容都是Java程序员日常开发中不可或缺的知识。 "rr"和"comNotes"这两个文件名不够明确,但根据上下文,它们可能...
- **利用并发框架**:利用成熟的并发框架如`Java.util.concurrent`包中的工具类可以大大简化并发编程的复杂度。 以上是关于Java并发编程的一些基本知识点和个人经验分享。在实际开发中,理解并运用这些概念将有助于...
- **了解Boost库的整体结构**:通过阅读文档来了解Boost库的基本组成部分。 - **熟悉基本概念**:理解什么是智能指针、函数对象等基本概念。 - **尝试简单的例子**:通过编写一些简单的示例代码来实践Boost库的用法...
选择合适的内容,比如基础语法、面向对象编程、异常处理、集合框架等;运用多媒体技术,如动画、视频、音频、互动元素等,生动展示编程过程;最后,编写脚本并录制讲解,确保语言清晰、步骤明确。 其次,微课的结构...
2022年,我有幸作为一名软件开发实习生,经历了为期半年的实习生活,现将我的心得体会分享如下。 软件开发绝非只是一门编程语言的学习,而是一个涉及到软件全生命周期的复杂过程。从最初的构思到最终的产品交付,每...
为了帮助有志于此的考生顺利通过考试,备考资料包应运而生,它集合了备考策略、学习笔记、核心知识点解析和模拟试题等多种资源,是一个全面、系统的学习解决方案。 首先,备考策略对于制定合理的学习计划至关重要。...
- Bloom Filter:一种空间效率极高的概率型数据结构,用于判断一个元素是否在一个集合中。 **7.1 机器学习基础** - **知识点概述**: 机器学习的基本概念和技术。 - **关键算法**: - K 近邻算法 (KNN):基于实例...
【PB资料大全】正是为满足这一学习需求而编撰的学习资料集合,由经验丰富的教师精心编制,内容丰富,旨在帮助学生和初学者深入理解和掌握PB编程技术。 首先,"Ctrl想对大家说的话…….doc"这份文档,作为老师对学生...
项目中提供的答辩PPT可能包含了系统的设计理念、功能模块介绍、技术选型原因、系统架构图等内容,有助于理解项目的整体框架和实现细节。这通常是项目演示或毕业答辩的重要材料,可以帮助读者快速了解项目的核心内容...