java.util包提供了一些集合类 ,这些集合类又被称为容器,提到容器不难想到数组,集合类与数组不同之处 在于数组长度固定 ,而集合类长度可变的,数组用来存放数据,集合类用来存放对象引用,常用的集合类有list,set,map,list和set继承了Collection接口,各个接口还提供了不同的实现类,看一下关系图
要掌握集合类这个图非常重要,这一个图概括了一个类,三个接口,六个知识点,所以将集合类总结为一三六,Collection接口是接口层次中的根接口。构成collection的单位被称之为元素,Collection接口往往不能直接使用但是该接口提供了添加元素删除元素管理数据的方法,List和set接口都继承了Collection接口,所以方法对于List和set接口是通用的,至于有人要问为什么要把Collection写成接口,不做解释这是sun公司规定,如有深究者可以找sun公司理论,collection接口定义了存取一组对象的方法其子类接口为set和list分别定义了存储方式,
1:set里面的元素没有顺序且不可重复。
2:list里面的元素有顺序且可以重复。
3:map接口定义了键(key)-值(value)映射对的方法。
在set,list,map下面又定义了很多不同的类,像ArrayList,HashSet等等,先不管它们怎么用,只要看见list就应该明白这是一个装有序的可以重复的元素,看见set就知道这是无序的不可重复的,这里有人就问了,那还要那么多类干嘛,这就好比你上学装书一样,用书包装可以,塑料袋装着也行,只要你愿意,用桶装上书也行,所以不同的装书的方式有不同的用途,有它自身的优缺点但是共同点是他对外的接口是统一的,前面提到过泛型,现在看一个泛型与集合类的部分用法
import java.util.*; public class ArrayLisTest { public static void main(String args[]){ //实例化list对象 ArrayList<String> list = new ArrayList<String>(); list.add("张三"); list.add("李四"); list.add("王麻子"); //list有下标可以用for循环遍历数组 for(int i = 0 ;i<list.size();i++){ System.out.println(list); } //创建迭代器,用迭代方法遍历元素 Iterator<String> iter =list.iterator(); //用while判断是否有下一个元素如果有就输出下一个元素 while(iter.hasNext()){ String str = iter.next(); System.out.println(str); } //用增强的for循环foreach遍历 //括号内冒号左边表示返回值类型,右边表示要遍历的对象 for(String s:list){ System.out.print(s); } } }
通过以上例子可以了解泛型与集合的用法还了解了集合中的遍历数组方法Iterator,为了加深印象,用三种例子说明遍历方法,重点说明后两种遍历方法,乍一听,迭代好像很高大上,其实也没什么,为了便于理解读者可将其理解为遍历容器中的元素,foreach其实可以理解为简化的Iterator,for循环接触比较多就不过多解释了,希望大家可以熟练掌握这三种遍历方法,至于map和set读者可以根据情况自己尝试,就不做说明了
相关推荐
总的来说,《名师讲坛——Java开发实战经典》是一本全面且实用的Java教程,书中的每个章节都可能是一个新的探索,通过实践和不断的练习,读者将能够提升自己的Java开发能力,并在实际项目中游刃有余。
这份"JAVA核心知识点整理——java自学资料.rar"包含了一份详细的Java学习资源,旨在帮助已经具备一定Java基础知识的开发者进一步提升技能,深入理解Java的底层机制。以下是这份资料可能涵盖的一些核心知识点和学习...
分形(Fractal)是一种在自然...总的来说,分形算法与程序设计结合Java,不仅展示了数学的美,还让我们有机会通过编程探索和模拟自然界的复杂性。无论是初学者还是经验丰富的开发者,都可以在这个领域找到挑战和乐趣。
5. **IO流与集合框架**:Java的输入/输出(IO)流和集合框架是处理数据的关键,课程会涉及文件操作、网络通信以及ArrayList、LinkedList、HashMap等集合类的使用。 6. **图形用户界面(GUI)编程**:使用Java的...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为数据存储和操作提供了丰富的接口和类。本篇文章将深入解析`Collection`接口及其主要实现类`List`和...不断练习,深入探索,你将在Java集合的世界中游刃有余。
3. **动态数组Vector类**:探索如何使用动态数组Vector类来存储和操作数据集合,理解其与数组相比的优势。 #### 实验程序解析 以Math类和基本类型的包装类实验为例,实验程序`MathTest.java`展示了如何使用Math类...
每个Java程序至少包含一个类,其中的方法定义了程序的行为,成员变量存储数据。 Java是一种强类型语言,有基本数据类型如整型(int)、浮点型(float)、布尔型(boolean)等,同时也有对应的引用类型,如包装类。...
Java还提供了专门针对枚举的集合类:`EnumMap`和`EnumSet`。`EnumMap`是一个映射,其中的键是枚举类型,而`EnumSet`则是一个高效、不可变的集合,只包含枚举类型中的元素。 二、反射机制 反射机制允许在运行时检查...
大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...
Java大学简明教程——实例程序设计,这是一份专为初学者和进阶者准备的Java编程学习资源,尤其在实战应用方面具有很高的价值。它包含了一系列精心设计的实例,旨在帮助读者深入理解和掌握Java语言的核心概念以及...
在本Java课程设计中,我们将探索如何构建一个基础的通讯录系统。这个项目对于大一学生来说是一个很好的实践机会,因为它涵盖了Java编程的基础知识,并且能够帮助学生理解面向对象编程的概念。下面,我们将深入探讨...
此外,Java集合框架是程序员必备的知识。ArrayList、LinkedList、HashMap等数据结构用于存储和操作对象,它们提供了丰富的功能,如增删改查,以及根据特定条件遍历元素。 在Java中,I/O流处理是进行文件读写和网络...
Java编程语言是由Sun Microsystems公司(后被甲骨文公司收购)于1995年推出的一种面向对象的、跨平台的编程语言。它以其“一次编写,到处运行”的特性受...让我们一起在学习的道路上共同进步,探索Java编程的无尽可能!
├─面试必问-架构杀手锏——java混乱的日志体系 │ java混亂日志体系源码揭秘.mp4 │ ├─面试必问-深入微服务之SpringBoot&Docker1 │ 深入微服务之SpringBoot&Docker.mp4 │ └─面试必问-聊聊哈希算法与HashMap
Java集合框架是处理数据集合的工具,包括ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和操作对象的不同方式。理解这些集合类的特性和用途对于高效编程至关重要。 I/O流处理是Java处理输入输出的关键...
首先,让我们关注Java的基础库——Java Standard Edition (Java SE)。这个库包含了处理基本任务所需的类,例如输入/输出(I/O),网络通信,字符串操作,集合框架等。例如,`java.io`包提供了用于读写文件、流处理的类...
【Java学习】是编程世界中的一个关键领域,Java语言以其跨平台、面向对象的特性深受...通过阅读和学习这份笔记,我们可以从一个聪明中带点笨拙,认真却又偶尔溜号的视角,去理解这个强大且广泛使用的编程语言——Java。
另外,Java 9增强了集合API,例如增加了流API的收集器,通过这些增强的API,可以更容易地处理更复杂的集合操作,如分组或分段处理。同时,Java 9为并发编程引入了一些新的工具,如反应式流(Reactive Streams),它...
在Java的学习过程中,两本经典的书籍——《Head First Java》和《Thinking in Java》是许多初学者和进阶者的首选读物。 《Head First Java》是一本非常适合初学者的教材,它采用了独特的视觉设计和易于理解的教学...