`
新建文件夹.zip
  • 浏览: 6681 次
  • 性别: 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学习路径 不错的文章

    - **Java.util 包**: 提供了集合框架 (`List`, `Set`, `Map` 等) 以及日期和时间操作工具类。 - **Java.sql 包**: 用于数据库连接和操作,如 `Connection`, `Statement`, `ResultSet` 等。 - **学习策略**: - **...

    浅析《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

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

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

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

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

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

    关于应用文作文汇编五篇.docx

    - 宏观结构(整体构思)和微观结构(层次、段落等)共同构成文章的完整框架。 - 结构有助于主题的呈现和材料的有效组织。 - 清晰的思路是构建合理结构的基础。 这些知识点对于理解和撰写不同类型的应用文至关...

    2018年新版Java程序员面试宝典

    《新建文本文档.txt》可能是面试宝典的补充资料或笔记,可能包含了个人的学习心得、面试技巧或者是对某些知识点的特别强调。 总体来说,《2018年新版Java程序员面试宝典》是一本全面而实用的参考资料,涵盖了Java...

Global site tag (gtag.js) - Google Analytics