`
新建文件夹.zip
  • 浏览: 6792 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

集合框架总体结构学习心得

阅读更多

      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]

        说明输出时的顺序与输入的先后顺序有关而与别的没有关系,这就是所谓的有序。而且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]

        这说明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

 由于map也是无序的,所以keySet的返回值是set而不是list。

 

      

0
1
分享到:
评论

相关推荐

    chrome ui 框架学习笔记

    本文档旨在深入探讨Chrome UI框架的基本概念、架构及其实现原理,尤其关注于作者邱金武在学习过程中积累的经验和心得。以下内容将详细阐述Chrome UI框架的几个核心方面。 #### 二、基本结构与组成 ##### 1. 控件...

    【5层】公司办公楼全套设计 (3156平,含计算书、建筑图,结构图、实习报告,PKPM,答辩PPT).zip

    该压缩包文件“【5层】公司办公楼全套设计 (3156平,含计算书、建筑图,结构图、实习报告,PKPM,答辩PPT).zip”包含了一个完整的五层公司办公楼的设计资料,这是一份全面的建筑设计与工程文档集合。以下是基于这个...

    web前段学习心得体会.pdf

    7. **页面结构**:页面的基础框架,由横切、布局元素如导航、主体内容、侧边栏等组成,决定了页面的整体布局和内容分布。 8. **焦点区**:页面中最吸引用户注意力的区域,通常用于展示重要信息或引导用户操作。 9....

    JAVA做完项目心得

    3. **集合框架**:Java集合框架是项目中不可或缺的部分,我学会了ArrayList、LinkedList、HashSet、HashMap等各种数据结构的使用,理解了它们的性能特性和适用场景。 4. **IO流**:在处理文件输入输出时,我学习了...

    Java 推荐读物与源代码阅读

    Java集合框架广泛使用了设计模式,如迭代器模式(Iterator Pattern)、工厂方法模式(Factory Method Pattern)、装饰器模式(Decorator Pattern)、适配器模式(Adapter Pattern)等。通过研究这些设计模式的实际...

    基于Java的网课学习笔记设计源码

    开发者可能使用了Java集合框架,如ArrayList、LinkedList、HashMap等来存储和操作数据。 2. **MVC设计模式**:为了实现清晰的代码结构,项目很可能采用了Model-View-Controller(MVC)设计模式。Model负责数据处理...

    study1010_bursttpf_java学习_源码.zip

    3. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等容器的使用,以及泛型的理解。 4. **IO流**:学习如何读写文件,理解字节流和字符流的区别,以及缓冲区的概念。 5. **多线程**:线程的创建、同步机制...

    ORACLE初学者入门心得(经典版)

    ### Oracle初学者入门心得知识点详解 #### 一、Oracle学习方向定位 Oracle作为一个庞大的数据库管理系统,为...通过以上介绍,初学者可以对Oracle的整体框架有一个较为全面的认识,为后续深入学习打下坚实的基础。

    浅析《Java程序设计》课程的整体教学设计.zip

    3. 高级主题:涵盖异常处理、多线程、集合框架、IO流等内容,增强学生的编程技巧。 4. 项目实践:安排实际的编程项目,让学生运用所学知识解决实际问题。 三、教学方法 1. 案例驱动:以生动的实例引入新概念,使...

    Notes01---Ron

    这可能涵盖了异常处理、多线程、集合框架的使用、反射、注解、IO流、 Lambda表达式等Java特性。这些内容都是Java程序员日常开发中不可或缺的知识。 "rr"和"comNotes"这两个文件名不够明确,但根据上下文,它们可能...

    java并发个人心得

    - **利用并发框架**:利用成熟的并发框架如`Java.util.concurrent`包中的工具类可以大大简化并发编程的复杂度。 以上是关于Java并发编程的一些基本知识点和个人经验分享。在实际开发中,理解并运用这些概念将有助于...

    Boost库学习指南

    - **了解Boost库的整体结构**:通过阅读文档来了解Boost库的基本组成部分。 - **熟悉基本概念**:理解什么是智能指针、函数对象等基本概念。 - **尝试简单的例子**:通过编写一些简单的示例代码来实践Boost库的用法...

    高职《Java语言程序设计》课程的“微课”制作与应用研究.zip

    选择合适的内容,比如基础语法、面向对象编程、异常处理、集合框架等;运用多媒体技术,如动画、视频、音频、互动元素等,生动展示编程过程;最后,编写脚本并录制讲解,确保语言清晰、步骤明确。 其次,微课的结构...

    2022年大学生软件开发实习心得体会.docx

    2022年,我有幸作为一名软件开发实习生,经历了为期半年的实习生活,现将我的心得体会分享如下。 软件开发绝非只是一门编程语言的学习,而是一个涉及到软件全生命周期的复杂过程。从最初的构思到最终的产品交付,每...

    软考中项:系统集成项目管理工程师 资料包

    为了帮助有志于此的考生顺利通过考试,备考资料包应运而生,它集合了备考策略、学习笔记、核心知识点解析和模拟试题等多种资源,是一个全面、系统的学习解决方案。 首先,备考策略对于制定合理的学习计划至关重要。...

    程序员编程艺术:面试和算法心得

    - Bloom Filter:一种空间效率极高的概率型数据结构,用于判断一个元素是否在一个集合中。 **7.1 机器学习基础** - **知识点概述**: 机器学习的基本概念和技术。 - **关键算法**: - K 近邻算法 (KNN):基于实例...

    PB资料大全

    【PB资料大全】正是为满足这一学习需求而编撰的学习资料集合,由经验丰富的教师精心编制,内容丰富,旨在帮助学生和初学者深入理解和掌握PB编程技术。 首先,"Ctrl想对大家说的话…….doc"这份文档,作为老师对学生...

    ASP+ACCESS校园网物品交易平台(源代码+答辩PPT+实习报告).zip

    项目中提供的答辩PPT可能包含了系统的设计理念、功能模块介绍、技术选型原因、系统架构图等内容,有助于理解项目的整体框架和实现细节。这通常是项目演示或毕业答辩的重要材料,可以帮助读者快速了解项目的核心内容...

Global site tag (gtag.js) - Google Analytics