2.5 Java面向对象(五)集合

一、关于集合

1、集合从本质上讲还是数组,是可以存储多个值的存储单元。

2、集合与数组的区别:

(1)数组必须指明长度,但是集合没有长度约束,集合中有多少个元素,那么集合的长度就是多少。

(2)数组的添加和删除不方便,集合可以轻松的实现添加和删除。

(3)集合可以添加任意类型的数据,任意类型的数据添加到集合中都变成了Object(基类)类型。


二、三种集合及其用法

1、List

(1)ArrayList数组集合,有序可重复

代码实例:

@SuppressWarnings({ "unchecked", "rawtypes" })
	@Test
	public void test01(){
		List list=new ArrayList();
		//原有的元素
		list.add(1);
		list.add(1.0);
		list.add("Hello");
		list.add(new Object());
		System.out.println(list.size());//输出集合长度,【输出结果4】
		for(Object o:list){
		    System.out.println(o);  //输出集合中所有元素
		}
		System.out.println("添加元素后");
		list.add(3,"World!");   //插入到第四个元素
		for(Object o:list){
		    System.out.println(o);  //输出集合中所有元素
		}
		System.out.println("删除第四个元素后");
		list.remove(3);  //删除第四个元素
		for(Object o:list){
		    System.out.println(o);  //输出集合中所有元素
		}
		
		System.out.println("迭代器Iterator");
		Iterator it=list.iterator();
		while(it.hasNext())  //输出所有元素
		{
			Object o=it.next();
			System.out.println(o);
		}
	}

(2)链式集合:和ArrayList集合没有太大区别。

链式集合四个独有的方法:addFirst、addLast、removeFirsr、removeLast

代码示例:

@SuppressWarnings({ "unchecked", "rawtypes" })
	@Test
	public void test02(){
		LinkedList list=new LinkedList();
		list.add(1);
		list.add(1.0);
		list.add('c');
		list.add("World!");
		System.out.println(list.get(list.size()-1));//输出结果【World!】
		System.out.println(list.get(3)); //输出结果【World!】
		list.addFirst("First");
		System.out.println(list.get(0)); //输出结果【First】
		list.removeFirst();
		System.out.println(list.get(0)); //输出结果【1】
		
	}


2、Map:是一种key-value的集合

代码示例

@SuppressWarnings({ "unchecked", "rawtypes" })
	@Test
	public void test03()
	{
		/*
		 * Map集合
		 * Map集合是一种key-value的集合
		 */
		Map map=new HashMap();
		map.put(1,"小明");
		map.put(2,"小红");
		System.out.println(map.get(1));   //输出结果【小明】
		System.out.println(map.keySet());//输出结果【[1, 2]】
		System.out.println(map.values());//输出结果【[小明, 小红]】
		System.out.println(map);//输出结果【{1=小明, 2=小红}】
	}

3、Set

代码示例

@SuppressWarnings({ "rawtypes", "unchecked" })
	@Test
	public void test04()
	{
		Set set=new HashSet();
		set.add(1);
		set.add(1.0);
		set.remove(1.0);
		System.out.println(set.size());  //输出结果【1】
		Object[] o=new Object[10];
		set.toArray(o);
		System.out.println(o[0]);//输出结果【1】
	}


三、泛型集合

1、区别:集合是可以添加任意类型的数据,但是泛型集合只能添加规定类型的数据

2、泛型集合其实是对加入到集合中的数据做了类型约束的集合

3、代码示例:

@Test
	public void test06()
	{
		List<User> list=new ArrayList<User>();
		list.add(new User());
		System.out.println(list.get(0)); //输出结果【cn.demo.User@5b37e0d2】
		
		User u=new User(1001,"root","123456","男","广东广州");
		Map<Integer,User> map=new HashMap<Integer,User>();
		map.put(u.getId(),u);
		System.out.println(map.get(1001).getUsername()); //输出结果【root】
	}


Java面向对象相关知识:


2.1 Java面向对象(一)类、对象、属性、方法

2.2 Java面向对象(二)三大特征

2.3 Java面向对象(三)接口、静态、常量

2.4 Java面向对象(四)值类型和引用类型

2.5 Java面向对象(五)集合


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值