OOP知识整合----集合

目录

一、定义

1、集合: ( 不限制长度,存多少是多少)

2、集合框架:

二、List集合中常用的方法

1、Boolean add(Object o)  

2、void add(int index,Object o)  

3、Boolean remove(Object o)

4、Object remove(int index)

5、int size()

6、Boolean contains(Objext o)

7、Object get(int index)

三、泛型 <>

1、定义:

四、foreach 循环(增强 for循环)

五、LinkedList 实现类---List集合的实现类

1、定义

2、LinkedList 中特有的方法:(父类list不具有)

(1)addFrist

(2)addLast

(3)getFrist

(4)getLast

(5)removeFrist

(6)removeLast

六、Set集合 ------List集合的实现类

1、定义

七、Map集合

1、Map 集合存储值都通过键-值对的形式

2、键唯一,值不唯一(同一个键会覆盖)

3、指定泛型时也要指定成键-值对的形式

4、添加数据时,使用 put() 方法添加

5、当键发生重复时,值会造成覆盖,以保证键唯一

6、获取值时,可以先通过 keySet() 方法把键全部获取出来存在 Set 集合中,再遍历(依次访问)键集合,来获取键对应的值

八、迭代器

1、迭代器是用来遍历集合的一个接口

2、迭代器接口是 Iterator ,里面提供了两个方法:  

3、再 Collection 接口中提供了一个 iterator() 方法,可以用来获取集合中的所有元素,

并存入到 Iterator 接口创建的迭代器中


一、定义

1、集合: ( 不限制长度,存多少是多少)

是 Java 提供的一个容器,可以存储多个数据

2、集合框架:

 是 Java 提供的一套接口和类

(1)Collection:

是父接口,表示单列集合,不唯一,无序

(2)List:不唯一,有序

         ①ArragList:存连续空间,底层逻辑和数组相同,查询快,增删慢

         ② LinkedList:存链表,查询慢,增删快

(3)Set:唯一,无序

        ① HashSet:存哈希表(黑红树)

        ② TreeSet:二叉树

(4)Map

是父接口,存键值对,键唯一,值不唯一

二、List集合中常用的方法

1、Boolean add(Object o)  

添加对象到集合中

2、void add(int index,Object o)  

把对象添加到指定位置

3、Boolean remove(Object o)

 删除指定对象

4、Object remove(int index)

 删除指定位置的对象

5、int size()

获取集合中元素个数(赋值的个数)

6、Boolean contains(Objext o)

判断是否存在某个对象

7、Object get(int index)

 获取指定索引处的对象

三、泛型 <>

1、定义:

使用泛型,可以将类型参数传递给类型中的方法、类或接口,而不必在定义时具体指定因为已经指定了数据类型,在最后就不用进行转型。

在 Java 中,泛型通常使用尖括号 < > 包围一个类型参数,例如 List<T>,其中 T 是类型参数

四、foreach 循环(增强 for循环)

定义:

类型  变量 : 集合  

(进行循环,如果集合有值,就赋值给变量,直到集合没有值,则循环结束)

五、LinkedList 实现类---List集合的实现类

1、定义

(1)LinkedList 存数据是链表的形式

(2)linkedList 中提供了对头和尾进行添加、删除、获取的方法(父类 list 也不具有)

(3)在做添加和删除操作时,LinkedList 比 ArrangList 效率高

2、LinkedList 中特有的方法:(父类list不具有)

(1)addFrist

(2)addLast

(3)getFrist

(4)getLast

(5)removeFrist

(6)removeLast

六、Set集合 ------List集合的实现类

1、定义

(1)Set 集合是无序的,也就没有下标

(2)添加时不能指定位置,删除时也不能删指定位置,也没有 get 方法

(3)获取时使用 for-each(增强 for 循环) 循环迭代

(4)具有父类List 的常用方法

七、Map集合

1、Map 集合存储值都通过键-值对的形式

2、键唯一,值不唯一(同一个键会覆盖)

3、指定泛型时也要指定成键-值对的形式

4、添加数据时,使用 put() 方法添加

5、当键发生重复时,值会造成覆盖,以保证键唯一

6、获取值时,可以先通过 keySet() 方法把键全部获取出来存在 Set 集合中,再遍历(依次访问)键集合,来获取键对应的值

八、迭代器

1、迭代器是用来遍历集合的一个接口

2、迭代器接口是 Iterator ,里面提供了两个方法:  

Boolean hashNext() 判断迭代器中是否有下一个元素,有则返回 true ,反则 flase

  E  next() 用来获取出迭代器中的下一个元素(得到下一个元素)

3、再 Collection 接口中提供了一个 iterator() 方法,可以用来获取集合中的所有元素,

并存入到 Iterator 接口创建的迭代器中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot集成mybatis时,dao层的mapper类需要添加@Repository注解吗?

在Spring Boot项目中&#xff0c;当你使用MyBatis作为ORM框架时&#xff0c;关于DAO层的Mapper类是否需要添加Repository注解&#xff0c;这主要取决于你的项目需求和配置。 Repository注解的作用Repository注解是Spring框架中用于声明持久层&#xff08;DAO层&#xff09;的组…

Code Effective学习笔记--第8章防御式编程

这一章聚焦如何通过断言和Java的异常处理机制这些防御式编程的方法来提高程序的健壮性和安全性&#xff0c;这是防御式编程技术的方面。但是健壮性和安全性到了一定的程度其实是矛盾的&#xff0c;健壮性意味着对于任何的输入&#xff0c;程序都不会终止而且都能给出返回&#…

Tftp服务器环境搭建

1、什么是Tftp TFTP&#xff08;Trivial File Transfer Protocol&#xff0c;简单文件传输协议&#xff09;是一种基于UDP&#xff08;User Datagram Protocol&#xff09;的文件传输协议&#xff0c;它被设计为一个非常简单的文件传输机制&#xff0c;特别适用于那些对复杂性有…

深入解析PHP框架:Symfony框架的魅力与优势

嘿&#xff0c;PHP开发者们&#xff01;今天我们要聊一聊PHP世界中的一颗闪亮明星——Symfony框架。无论是初学者还是经验丰富的开发者&#xff0c;Symfony都为大家提供了强大的工具和灵活的特性。那就跟着我一起&#xff0c;来探索这个强大的PHP框架吧&#xff01; 一、什么是…

make2exe:自动集成测试

模板Makefile&#xff0c;生成多个C/C模块的集成测试程序。

TypeScript通过MsgPack发送数组到C++反序列化失败

const object [MsgId.SelectRoles,[id]//虽然是整数&#xff0c;但是也强制转成FLOAT64发出去了/* */];const encoded: Uint8Array msgpack.encode(object);if (this.websocket ! undefined) {console.log(send,encoded)this.websocket.send(encoded)} struct MsgSelectRole…

简单理解闭包|作用域和作用域链|执行上下文

本文主要介绍对闭包|作用域和作用域链|执行上下文三个的理解。 1.闭包 &#xff08;1&#xff09;定义 闭包指有权访问另一个函数作用域中变量的函数。 &#xff08;2&#xff09;闭包的基本特性 函数嵌套&#xff1a;内部函数可以访问外部函数的作用域&#xff0c;包括参…

如何自定义语法与其他语句进行映射

1、如何自定义注解与hbase的api进行通信&#xff0c;自动进行类映射 2、如何定义一个对象 与sql中语法进行匹配 各种场景&#xff0c;都可以写一个针对特定软件的语法&#xff0c;进映射 package hbase;import org.apache.commons.lang3.StringUtils; import org.apache.had…

S7Comm

S7Comm 是西门子&#xff08;Siemens&#xff09;为其可编程逻辑控制器&#xff08;PLC&#xff09;系列&#xff0c;尤其是 S7-300 和 S7-400 系列&#xff0c;开发的一种专有通信协议。它允许这些 PLC 设备之间以及 PLC 与其它工业自动化组件&#xff08;如 HMI、SCADA 系统或…

免费【2024】springboot 基于微信小程序的宠物服务中心

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

JavaDS —— 二叉搜索树、哈希表、Map 与 Set

前言 我们将学习 Map 与 Set 这两个接口下的 TreeMap 与 TreeSet &#xff0c;HashMap 与 HashSet &#xff0c;在学习这四个类使用之前&#xff0c;我们需要先学习 二叉搜索树与 哈希表的知识。 二叉搜索树 在学习二叉树的时候&#xff0c;我们就已经了解过二叉搜索树的概念…

代码随想录算法训练营DAY64|拓扑排序、dijkstra(朴素版)

拓扑排序精讲 from collections import dequedef bfs(degrees):nodes deque()for j in range(n):if degrees[j]0:nodes.append(j)result [] while nodes:idx nodes.popleft()result.append(str(idx))if depend[idx]:for file in depend[idx]:degrees[file]-1if degr…

酒店智能门锁接口pro[0922]D801 对接收银-SAAS本地化-未来之窗行业应用跨平台架构

proUSB接口函数[0922中性版]-D801 调用函数库&#xff1a; 提供Windows下的32位动态连接库proRFL.DLL&#xff0c;函数使用详细说明 //-----------------------------------------------------------------------------------// 功能&#xff1a;读DLL版本&#xff0c;不涉…

【Linux C | 网络编程】进程池退出的实现详解(五)

上一篇中讲解了在进程池文件传输的过程如何实现零拷贝&#xff0c;具体的方法包括使用mmap&#xff0c;sendfile&#xff0c;splice等等。 【Linux C | 网络编程】进程池零拷贝传输的实现详解&#xff08;四&#xff09; 这篇内容主要讲解进程池如何退出。 1.进程池的简单退…

在信息检索领域,NLP 如何能够更精准地理解用户的模糊或不完整的自然语言查询需求?

在信息检索领域&#xff0c;NLP&#xff08;自然语言处理&#xff09;可以使用多种技术来更精准地理解用户的模糊或不完整的自然语言查询需求。以下是一些常见的技术和方法&#xff1a; 词义消歧&#xff1a;NLP可以通过使用上下文信息、词汇数据库&#xff08;如WordNet&#…

Greenplum数据库中的数据倾斜问题及处理方法

一、数据倾斜问题的原因 数据分布不均匀&#xff1a;当数据在表的分区或分片中不均匀分布时&#xff0c;会导致某些分区或分片的数据量较大&#xff0c;从而引发数据倾斜问题。连接键存在热点数据&#xff1a;如果连接操作中使用的键值存在热点数据&#xff0c;即某些键值出现…

Java并发编程(上)

并发&#xff1a;多个线程&#xff08;进程&#xff09;竞争一个资源 并行&#xff1a;多个线程&#xff08;进程&#xff09;同时运行不同资源 线程和进程的关系简单地说&#xff0c;进程是一个容器&#xff0c;一个进程中可以容纳若干个线程&#xff0c;一个进程里面&#…

微信小程序入门

创建一个入门程序 这是index.vxml代码 <!--index.wxml--> <navigation-bar title"Weixin" back"{{false}}" color"black" background"#FFF"></navigation-bar> <view class"container" ><view&…

苹果CMS:资源采集站如何设置定时采集详细教程讲解

我们搭建好站点之后&#xff0c;会自定义一些采集&#xff0c;但是需要每天去手动执行&#xff0c;有时候甚至会忘记&#xff0c;那我们如何处理呢&#xff1f;今天我们就来介绍一下如何设置定时器。 如果按照官方例子来设置定时器会遇到一个问题就是采集的资源未绑定类型&…

提升 Symfony 性能:优化技巧与工具

提升 Symfony 性能&#xff1a;优化技巧与工具 Symfony 是一个强大的 PHP 框架&#xff0c;广泛应用于各种规模的 Web 应用程序开发。尽管 Symfony 提供了许多内置的性能优化特性&#xff0c;但在实际开发中&#xff0c;我们仍需掌握各种技巧和工具来进一步提升其性能。本文将…