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。
相关推荐
在Java基础方面,项目提供了一系列的源文件和配置文件,帮助学习者从最基础的语法结构开始,逐步理解Java的面向对象编程思想、异常处理机制、集合框架的使用等关键知识点。这些内容是构建稳固的Java知识体系的基石。...
本文档旨在深入探讨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)等。通过研究这些设计模式的实际...
本文档是一份蓝桥云课Python学习路径中部分项目源代码的集合,该集合以个人学习为目的,仅供学习者参考和实践使用。文档内包含了Python编程语言的学习资源,其中的项目源代码是学习者在掌握Python基础之后,用于...
7. **页面结构**:页面结构是指网页的基本框架,包括横切和其他布局元素,决定了页面的整体布局和结构。 8. **焦点区(图)**:这是页面中最容易吸引用户注意力的区域,通常是重要的信息展示区。 9. **导航**:导航...
开发者可能使用了Java集合框架,如ArrayList、LinkedList、HashMap等来存储和操作数据。 2. **MVC设计模式**:为了实现清晰的代码结构,项目很可能采用了Model-View-Controller(MVC)设计模式。Model负责数据处理...
3. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等容器的使用,以及泛型的理解。 4. **IO流**:学习如何读写文件,理解字节流和字符流的区别,以及缓冲区的概念。 5. **多线程**:线程的创建、同步机制...
### Oracle初学者入门心得知识点详解 #### 一、Oracle学习方向定位 Oracle作为一个庞大的数据库管理系统,为...通过以上介绍,初学者可以对Oracle的整体框架有一个较为全面的认识,为后续深入学习打下坚实的基础。
- **Java.util 包**: 提供了集合框架 (`List`, `Set`, `Map` 等) 以及日期和时间操作工具类。 - **Java.sql 包**: 用于数据库连接和操作,如 `Connection`, `Statement`, `ResultSet` 等。 - **学习策略**: - **...
3. 高级主题:涵盖异常处理、多线程、集合框架、IO流等内容,增强学生的编程技巧。 4. 项目实践:安排实际的编程项目,让学生运用所学知识解决实际问题。 三、教学方法 1. 案例驱动:以生动的实例引入新概念,使...
这可能涵盖了异常处理、多线程、集合框架的使用、反射、注解、IO流、 Lambda表达式等Java特性。这些内容都是Java程序员日常开发中不可或缺的知识。 "rr"和"comNotes"这两个文件名不够明确,但根据上下文,它们可能...
- **利用并发框架**:利用成熟的并发框架如`Java.util.concurrent`包中的工具类可以大大简化并发编程的复杂度。 以上是关于Java并发编程的一些基本知识点和个人经验分享。在实际开发中,理解并运用这些概念将有助于...
- **了解Boost库的整体结构**:通过阅读文档来了解Boost库的基本组成部分。 - **熟悉基本概念**:理解什么是智能指针、函数对象等基本概念。 - **尝试简单的例子**:通过编写一些简单的示例代码来实践Boost库的用法...
选择合适的内容,比如基础语法、面向对象编程、异常处理、集合框架等;运用多媒体技术,如动画、视频、音频、互动元素等,生动展示编程过程;最后,编写脚本并录制讲解,确保语言清晰、步骤明确。 其次,微课的结构...
2022年,我有幸作为一名软件开发实习生,经历了为期半年的实习生活,现将我的心得体会分享如下。 软件开发绝非只是一门编程语言的学习,而是一个涉及到软件全生命周期的复杂过程。从最初的构思到最终的产品交付,每...
为了帮助有志于此的考生顺利通过考试,备考资料包应运而生,它集合了备考策略、学习笔记、核心知识点解析和模拟试题等多种资源,是一个全面、系统的学习解决方案。 首先,备考策略对于制定合理的学习计划至关重要。...
通过阅读“readme.txt”,了解项目的整体框架和使用方法;参考“data_struct_type”文件获取线性表类型的知识;通过“code”文件夹中的源代码深入研究线性表的编程实现;最后,结合“note”文件中记录的详细笔记来...