河南国安建设集团有限公司网站网站建设如何商谈

pingmian/2026/1/26 0:02:15/文章来源:
河南国安建设集团有限公司网站,网站建设如何商谈,东莞大岭山网站制作,酒店网站建设的构思一、集合 1.1 简介 集合主要分为两组#xff08;单列集合、双列集合#xff09;#xff0c;Collection 接口有两个重要的子接口 List 和Set#xff0c;它们的实现子类都是单列集合。Map 接口的实现子类是双列集合#xff0c;存放的是 K-V 1.2 关系图 二、Collection 接口…一、集合 1.1 简介 集合主要分为两组单列集合、双列集合Collection 接口有两个重要的子接口 List 和Set它们的实现子类都是单列集合。Map 接口的实现子类是双列集合存放的是 K-V 1.2 关系图 二、Collection 接口和常用方法 public interface CollectionE extends IteratorE 2.1 特点 1、Collection 实现子类可以存放多个元素每个元素可以是 Object 2、有些 Collection 的实现类可以存放重复元素有些不可以。 3、有些 Collection 的实现类是有序的List有些不是有序的Set 4、Collection 接口没有直接的实现子类是通过它的子接口 Set 和 List 来实现的 2.2 常用方法 下面使用实现类 ArrayList 来演示如下 public class CollectionTest {public static void main(String[] args) {Collection list new ArrayList();// add: 添加单个元素list.add(java);list.add(10);list.add(true);System.out.println(listlist);// remove: 删除指定元素list.remove(true);System.out.println(listlist);// contains: 查找元素是否存在System.out.println(list.contains(java));// size: 获取元素个数System.out.println(现在集合的大小为list.size());// isEmpty: 判断是否为空System.out.println(判断集合是不是空的list.isEmpty());// clear: 清空集合list.clear();System.out.println(我要清空集合了现在集合的大小为list.size());// addAll: 添加多个元素ArrayList list2 new ArrayList();list2.add(苹果);list2.add(香蕉);list.addAll(list2);System.out.println(添加完多个元素后集合的大小为list.size());// containsAll: 查找多个元素是否都存在System.out.println(查找多个元素是否都存在list.containsAll(list2));// removeAll: 删除多个元素list.removeAll(list2);System.out.println(删除多个元素后集合的大小为list.size());} } 2.3 接口遍历 2.3.1 Iterator 方式 Iterator 对象称为迭代器主要用于遍历 Collection 集合中的元素。所有实现了 Collection 接口的集合类都有一个 iterator() 方法用于返回一个实现了 Iterator 接口的对象即可以返回一个迭代器。 需要注意的是在调用 iterator.next() 方法之前必须要调用 iterator.hasNext() 方法进行检测若不调用最终会报异常。 如果希望再次遍历则需要重置我们的迭代器即重新调用下 coll.iterator() 方法即可。 // 得到一个集合的迭代器 Iterator iterator coll.iterator(); // 判断是否还有下一个元素 while(iterator.hasNext()){// next() 方法有两个作用下移并且将下移以后集合位置上的元素返回System.out.println(iterator.next()); } 2.3.2 for 循环方式 增强 for 循环可以代替 iterator 迭代器。它就是简化版的 iterator本质是一样的只能用于遍历集合或数组。 for(元素类型 元素名:集合或数组名){// 访问元素 } 三、List 接口和常用方法 3.1 特点 1、List 集合类中元素有序即添加顺序和取出顺序是一致的、且可重复。 2、List 集合中每个元素都有其对应的顺序索引即支持索引。 3、List 容器中的元素都对应一个整数型的序号记录其在容器中的位置可以根据序号存取容器中的元素。 3.2 常用实现类 ArrayList、LinkedList、Vector 3.3 常用方法 public class ListMethod {public static void main(String[] args) {List list new ArrayList();list.add(苹果);list.add(香蕉);// add(int index,Object ele): 在 index 位置插入 ele 元素list.add(1,西瓜);System.out.println(listlist);// addAll(int index,Collection els):从 index 位置开始将 els 中的所有元素添加进来List list2 new ArrayList();list2.add(足球);list2.add(篮球);list.addAll(0,list2);System.out.println(listlist);// Object get(int index):获取指定 index 位置的元素System.out.println(list.get(0));// int indexOf(Object obj):返回 obj 在集合中首次出现的位置System.out.println(list.indexOf(足球));// int lastIndexOf(Object obj):返回 obj 在集合中末次出现的位置System.out.println(list.lastIndexOf(篮球));// Object remove(int index):移除指定 index 位置的元素并返回此元素System.out.println(list.remove(0));// Object set(int index,Object obj):设定指定 index 位置的元素为 obj,相当于是替换list.set(2,美女);System.out.println(listlist);// List subList(int fromIndex,int toIndex):返回从 fromIndex 到 toIndex 位置的子集合左闭右开List list3 list.subList(2,3);System.out.println(list3list3);} } 3.4 排序方法 // 按照 Book 类的 price 属性从小到大排序 public static void sort(List list){int size list.size();for(int i0;isize-1;i){for(int j0;jlist.size()-1-i;j){Book b1 (Book)list.get(j);Book b2 (Book)list.get(j1);if(b1.getPrice() b2.getPrice()){list.set(j,b2);list.set(j1,b1);}}} } 四、ArrayList  4.1 特点 ArrayList 可以添加 null并且可以存储多个。底层是由数组来实现数据存储的ArrayList 基本等同于 Vector但是 ArrayList 是线程不安全的。 ArrayList 中维护了一个 Object 类型的数组 elementData如下 // transient 表示该属性不会被序列化 transient Object [] elementData 4.2 无参扩容分析 当创建 ArrayList 对象时如果使用的是无参的构造器则初始化 elementData 容量为 0第一次添加元素的时候elementData 会扩容为 10如需要再次扩容则扩容 elementData 为 1.5 倍。 public class ArrayListTest {public static void main(String[] args) {// 使用无参构造器创建 ArrayList 对象// 创建一个容量为 0 的 elementData 数组ArrayList list new ArrayList();for(int i1;i10;i){// add() 方法先判断是否需要扩容然后再执行赋值// 如果进行扩容则第一次扩容为10第二次即以后按照 1.5 倍扩容list.add(i);}for(int i11;i15;i) {// 此时要进行第二次扩容为 1010/2 15list.add(i);}// 此时要进行第三次扩容为 1515/222list.add(100);list.add(200);list.add(null);} } 4.3 有参扩容分析 如果使用的是指定大小的构造器则初始 elementData 容量为指定大小如果需要扩容则直接扩容 elementData 为 1.5 倍。 public class ArrayListTest2 {public static void main(String[] args) {// 使用有参构造器创建 ArrayList 对象// 创建一个容量为 8 的 elementData 数组ArrayList list new ArrayList(8);for(int i1;i10;i){// add() 方法先判断是否需要扩容然后再执行赋值// 当 i9 的时候需要进行扩容此时按照 1.5 倍扩容88/2 12list.add(i);}for(int i11;i15;i) {// 当 i13 的时候此时要进行第二次扩容为 1212/2 18list.add(i);}list.add(100);list.add(200);list.add(null);} } 五、Vector 5.1 特点 Vector 底层也是一个对象数组它是线程安全Vector 类的操作方法带有 synchronized 关键字修饰。当涉及到线程安全时可以使用 Vector。 5.2 无参扩容分析 当创建 Vector 对象时如果使用的是无参的构造器则初始化 elementData 容量为 10满了之后扩容为 elementData  2 倍。 public class VectorTest {public static void main(String[] args) {// 使用无参构造器创建 Vector 对象// new Vector() 时会创建一个容量为 10 的 elementData 数组Vector list new Vector();for(int i1;i10;i){// add() 方法先判断是否需要扩容然后再执行赋值list.add(i);}// 此时要进行第二次扩容为 101020list.add(100);} } 5.3 有参扩容分析 如果使用的是指定大小的构造器则初始 elementData 容量为指定大小满了之后扩容为 elementData  2 倍。 public class VectorTest {public static void main(String[] args) {// 使用有参构造器创建 Vector 对象// new Vector() 时会创建一个容量为 7 的 elementData 数组Vector list new Vector(7);for(int i1;i10;i){// add() 方法先判断是否需要扩容然后再执行赋值// 当 i8 的时候需要进行第一次扩容容量为77 14list.add(i);}list.add(100);} } 六、LinkedList 6.1 特点 LinkedList 底层实现了双向链表和双端队列的特点可以添加任意元素包括 null线程不安全没有实现同步。 6.2 底层结构 1、LinkedList 底层维护了一个双向链表。 2、LinkedList 中维护了两个属性 first 和 last 分别指向首节点和尾节点。 3、每个节点Node 对象里面又维护了 prev、next、item 三个属性其中通过 prev 指向前一个通过 next 指向后一个节点。最终实现双向链表。 4、所以 LinkedList 的元素的添加和删除不是通过数组完成的相对来说效率较高。 6.3 LinkedList 和 ArrayList 比较 底层结构增删的效率改查的效率ArrayList可变数组较低数组扩容较高LinkedList双向链表较高通过链表追加较低 如何选择 ArrayList 和 LinkedList :  1、如果我们增删的操作多选择 LinkedList 2、如果我们改查的操作多选择 ArrayList 3、一般来说在程序中80% 到 90% 都是查询因此大部分情况下会选择 ArrayList 4、在一个项目中根据业务灵活选择有可能是一个模块使用的是 ArrayList另外一个模块是 LinkedList。也就是说要根据业务来进行选择

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

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

相关文章

郴州网站设计公司广州注册个体户流程及费用

标签(空格分隔): Javajavascript习惯了eclipse的自动编译,Java命令行编译、执行文件只会最基础的部分,就是对单文件的编译和执行,并且不包含任何外部JAR包。但有时候你还非得用命令行,会碰到一些问题,博主这…

如何用front怕个做网站做狗狗网站的背景图

共享办公室,又称联合办公、众创空间、孵化器等,是一种将空闲的办公空间出租给不同的企业或个人,提供灵活的租期、价格和服务的新型办公模式。共享办公室的出现,满足了新兴企业和自由职业者对于低成本、高效率、多元化的办公需求&a…

设计师如何注册个人网站广州市网站建设公司在哪里

我正在使用k-means聚类算法,并且对于每个聚类质心,我试图为质心生成n维Voronoi区域 . 之后我需要从Voronoi区域生成随机点 .我已经尝试使用Matlab / Octave和scipy来获得n维Voronoi区域 . 但我有两个问题 .生成顶点和区域后,如何从区域生成随…

如何提高网站吸引力在百度上做网站怎么做

一、无人机模型简介: 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献: [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

辽宁网站备案要多久福建省建设执业注册与管理中心网站

首先,回顾并详细说明一下在快速入门中使用的Controller、RestController、RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。 Controller:修饰class,用来创建处理http请…

浙江网站建设专家评价Pc端做社区网站用什么框架

在fread时,"rb"与"r"对某些字符作用,是不同的; 文本模式和二进制模式读取不一样的 文本:读: 遇到回车-换行(0D 0A),就会转换为换行符0A 写:遇到换行符0A,就会转换为回车-换…

仿一个网站山西省住房和城乡建设厅网站首页

本文仅为【2023传智杯】第六届传智杯程序设计挑战赛-题目解题分析详解的解题个人笔记,个人解题分析记录。 本文包含:第六届传智杯程序设计挑战赛题目、解题思路分析、解题代码、解题代码详解 文章目录 一.前言更新进度记录二.比赛题目(AB俩组)D题题目-abbE题题目 -kotori和…

asp.net网站开发四酷全书小程序第三方平台

前面步骤 http://t.csdnimg.cn/IPXMY 1、解释 在数据库中,单表的操作是最简单的,但是在实际业务中最少也有十几张表,并且表与表之间常常相互间联系; 一对一、一对多、多对多是表与表之间的常见的关系。 一对一:一张…

成都企业网站seo开发网站需要什么技术

接下来的网格元素放置算法将网格元素的自动位置解析为确定位置,确保每个网格元素具有布局明确的网格区域。(Grid spans 不需要特别的解析;如果没有明确指定,默认是1) 注意:当显式网格中没有位置放置自动放置…

检测网站是用什么代码做的软件急招一对夫妻门卫6500元

oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?我遇到了与此处列出的问题相同的问题:尽管我没有丢失密码,但如何恢复或更改Oracle sysdba密码,我最初在configure脚本中输入了两次,然后登录(localhost:…

杭州个人做网站专业网站建设设计公司

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…

怎么做各大视频网站的会员代理引流推广团队

因为 windows 中的 docker 使用虚拟磁盘(VHDX)来存储文件系统。 windows中,docker需在WSL2配置下才可使用。 (WSL是windows推出的可让开发人员不需要安装虚拟机(vmware,virtbox)或者设置双系统启动就可以原生支持运行GNU/Linux的…

重庆玖玺国际做网站百度批量查询工具

共享指针是 C 中一种智能指针,用于管理动态内存。它可以有效防止内存泄漏和悬空指针问题。在实际项目中,共享指针有以下几种常见的用法: 1. 管理对象的生命周期 共享指针可以用来管理对象的生命周期。当最后一个共享指针指向的对象时&#…

做网站需要什么技术自己做网站可以赚钱么

C ACM模式输入输出 以下我们都以求和作为题目要求,来看一下各种输入输出应该怎么写。 1 只有一个或几个输入 输入样例: 3 5 7输入输出模板: int main() {int a, b, c;// 接收有限个输入cin >> a >> b >> c;// 输出结果…

天津网站建设培训学校广安们内网站建设

Uboot : 我们知道系统上电之后,需要一段程序来进行初始化 。 Boot(Universal Boot Loader),即通用Bootloader,是用来引导启动内核的,它的最终目的就是从flash中读出内核,放到内存&#xff08…

手机网站建站cms商务网站的规划流程

本文根据博主设计的Prompt由CHATGPT生成,形成极简外设概念。 🚀 1. 概念揭秘 I2C(Inter-Integrated Circuit),也被称为IIC或双线接口,是一种用于微控制器(Microcontrollers)和外设…

神农架网站建设公司软件开发和前端开发的区别

目录 识别CMS指纹 1 什么是CMS指纹? 2 常见的CMS指纹 3 识别CMS指纹的方法有哪些? (1)分析HTTP响应头,识别CMS的特定标头。 (2)通过配置文件/特殊文件 (3)分析网站…

南京网站建设有限公司免费一键生成商标图片

C# 什么是继承和派生 在 C# 中,继承(Inheritance)是一种机制,它允许一个类(子类)从另一个类(父类)中继承属性和方法。这种关系使得子类可以重用父类的代码,同时可以在子…

中国糕点网页设计网站网页设计报告总结200字

这是一款通话记录APP,用户可通过该软件来查看电话未接来电、通话时长等信息,十分便捷好用,有需要的快来下载使用吧!软件介绍本程序用于通话记录、时长显示、分类统计、时段统计等参考。想知道最近你跟某人通了多长时间电话吗&…