黑马程序员 Java基础之 集合框架(collection)

本文介绍了Java集合框架的基本概念,对比了数组与集合的区别,并详细解释了List接口的子类ArrayList的常见操作方法,如添加、删除、判断元素及遍历等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

集合的概述

在面向对象等高级语言中,我们往往操作的都是对象,而数据多了,需要封装对象,那么对象一旦多了,那我们也需要存储,存储对象的两种方式。数组和集合。

数组和集合的最大区别:数组中的对象的个数是一定的,但是集合中存储的个数是可变的,另外数组只能存储相同类型的对象,但是集合中可以存储不同类型的对象。

集合相当于是一个容器,而为什么集合中有不同类型的子类呢,原因就是集合中对每一种数据的存储方式不同,而这种存储方式也叫做数据结构。

java中集合常见的分类:


集合中的常用共性方法

boolean add(E e)向集合中添加元素。

boolean addAll(Collection c)向集合中添加另一个集合中所有的元素。

void clear() 清除集合中所有的元素。

boolean contains(Object o)判断集合中是否包含某个元素。

boolean containsAll(Collection c) 判断集合中是否包含c集合中的所有元素。

boolean remove(Object )移除集合中的指定的元素(如果元素存在);

boolean removeAll(Collection c) 移除集和中指定c集合的所有元素。

boolean isEmpty()  判断元素是否为空。

int size() 返回集合中元素的个数。

Iterator iterator()返回改集合的一个迭代器(通过该迭代器可以遍历集合);

LIst接口的子类Arraylist使用

import java.util.*;
class JavaCollection1_1 
{
	public static void main(String[] args) 
	{
		//创建list接口下的一个子类ArrayList对象。
		ArrayList al=new ArrayList();

		//1 向子类中添加元素--集合中存储的都是对象的地址,而不是对象的实体。
		al.add("java_1");
		al.add("java_2");
		al.add("java_3");
		al.add("java_4");
		//2打印集合
		sop(al);

		//3 输出集合的元素的个数size()
		sop(al.size());
		//4删除一个元素;
		al.remove("java_2");
		//5清空集合
		al.clear();
		//6判断元素
		al.contains("java_3");
		//7判断集合是否为空(长度为0的时候集合就会空)
		al.isEmpty();
		//method_1();
		method_2();
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
	public static void method_1()
	{
		ArrayList al1=new ArrayList();
		al1.add("java_1");
		al1.add("java_2");
		al1.add("java_3");
		ArrayList al2=new ArrayList();
		al2.add("java_2");
		al2.add("java_3");
		al1.retainAll(al2);//这里al1中存储的是al1和al2中相同的元素,也就是取交集。
		sop(al1);
	}
	///元素的取出并操作。
	public static void method_2()
	{
		ArrayList al1=new ArrayList();
		al1.add("java_1");
		al1.add("java_2");
		al1.add("java_3");
		al1.add("java_4");

		//Iterator接口:用于迭代元素。
		//Iterator it=al1.iterator();//获取迭代器。迭代器是取出元素的方式。集合的内部(内部类)
		/*while(it.hasNext())
		{
			System.out.println(it.next());
		}
		*/
		for(Iterator it=al1.iterator();it.hasNext();)
		{
			System.out.println(it.next());
		}
	}
}








### 黑马程序员 Java 课程资料及相关信息 #### 关于黑马程序员 Java 课程的内容 根据已知的信息,黑马程序员提供了全面的 Java 基础和进阶教程,涵盖了从零基础到高级开发者的多个阶段的学习内容。这些课程不仅适合初学者入门,还能够帮助有一定经验的开发者深入理解 Java 的核心概念和技术应用。 以下是关于该课程的一些具体模块描述: - **Java 基础入门** 这部分内容主要面向零基础学员,讲解了 Java 编程的基础语法、流程控制语句以及常见编程工具(如 IntelliJ IDEA)的使用技巧[^1]。例如,在 Mac 上使用 IntelliJ IDEA 自动生成 `get` 和 `set` 方法可以通过快捷键完成操作。 - **Java 高级特性与集合框架** 在进阶部分,课程重点介绍了 Java 中的集合框架及其应用场景。其中包括单列集合(继承自 `Collection` 接口)和双列集合(基于 `Map` 实现),并详细说明了它们的区别及适用场景[^3]。此外,还包括了如何利用集合存储复杂对象(如学生管理系统的实体类)并通过迭代器或其他方式对其进行遍历。 - **跨平台支持与 JVM 工作原理** 另外值得一提的是,Java 应用程序具有良好的跨平台兼容性。这是因为无论是在 Windows、Mac OS 或 Linux 系统下运行 Java 程序时,只需确保目标环境中已经安装有对应版本的 Java 虚拟机 (JVM),即可顺利完成编译执行过程而无需额外修改源码文件本身[^2]。 #### 如何获取相关资源? 对于希望下载或进一步了解上述提到的所有教学视频及其他配套材料的朋友来说,建议采取如下几种途径之一来获得合法授权后的完整版课件: 1. 访问官方授权合作网站或者教育机构主页查询最新发布的免费试听章节链接; 2. 加入由其他同学组建的学习交流群组分享心得体验的同时也可能有机会接触到更多优质补充文档; 3. 如果条件允许的话还可以考虑购买正版教材作为辅助参考资料以便更好地巩固所学知识点。 请注意尊重知识产权的重要性,在未经授权的情况下擅自传播受版权保护的作品可能会带来法律风险。 ```java // 示例代码展示:定义一个简单的Student类,并为其生成getter和setter方法 public class Student { private String name; private int age; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public int getAge() { return this.age; } public void setAge(int age) { this.age = age; } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值