Java数组和集合

        在Java中,数组和集合是两个重要的概念,它们用于存储和操作数据。本文将详细介绍Java中的数组和集合,包括它们的定义、初始化、访问和常见操作

一、数组(Array)

数组是一种用于存储相同类型数据的容器,它可以存储基本数据类型和对象。在Java中,数组的长度是固定的,一旦数组被创建,其长度就不能改变。下面是一些关于数组的重要概念:

1、数组的定义和初始化

Java中,可以使用以下方式定义和初始化数组:

// 声明一个整型数组
int[] numbers;// 创建一个长度为5的整型数组
numbers = new int[5];// 声明并初始化一个整型数组
int[] numbers = {1, 2, 3, 4, 5};

2、访问数组元素

可以使用索引来访问数组中的元素,索引从0开始,最大索引为数组长度减1。例如:

int[] numbers = {1, 2, 3, 4, 5};// 访问数组中的第一个元素
int firstNumber = numbers[0];// 修改数组中的第三个元素
numbers[2] = 10;

3、获取数组长度和遍历

可以使用length属性来获取数组的长度,例如:

int[] numbers = {1, 2, 3, 4, 5};// 获取数组长度
int length = numbers.length;// 遍历数组并打印每个元素
for (int i = 0; i < length; i++) {System.out.println(numbers[i]);
}

4、多维数组

Java还支持多维数组,可以通过在数组类型后面添加多个方括号来定义多维数组,例如:

int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

二、集合(Collection)

        集合是一种用于存储和操作对象的容器,它提供了丰富的方法和功能来处理数据。在Java中,集合类位于java.util包中,常用的集合类有ArrayListLinkedListHashSetTreeSet等。下面是一些关于集合的重要概念:

1、ArrayList

ArrayList是一个动态数组,可以根据需要自动调整大小。以下是ArrayList的一些常见操作:

import java.util.ArrayList;// 创建一个ArrayList
ArrayList<String> names = new ArrayList<>();// 添加元素
names.add("Alice");
names.add("Bob");
names.add("Charlie");// 获取元素数量
int size = names.size();// 获取指定位置的元素
String firstElement = names.get(0);// 遍历ArrayList并打印每个元素
for (String name : names) {System.out.println(name);
}

2、HashSet

HashSet是一个无序的集合,它不允许重复元素。以下是HashSet的一些常见操作:

import java.util.HashSet;// 创建一个HashSet
HashSet<Integer> numbers = new HashSet<>();// 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);// 检查元素是否存在
boolean containsTwo = numbers.contains(2);// 删除元素
numbers.remove(3);// 遍历HashSet并打印每个元素
for (int number : numbers) {System.out.println(number);
}

3、LinkedList

        LinkedList是一种链表数据结构,它提供了在列表中快速插入和删除元素的能力。它实现了List接口,可以按照插入顺序存储元素,并且允许元素重复。LinkedList还实现了Deque接口,可以用作队列或双端队列。下面是一个使用LinkedList的示例代码:

import java.util.LinkedList;public class LinkedListExample {public static void main(String[] args) {LinkedList<String> linkedList = new LinkedList<>();// 添加元素到链表末尾linkedList.add("Apple");linkedList.add("Banana");linkedList.add("Orange");// 在指定位置插入元素linkedList.add(1, "Grape");// 遍历链表并打印元素for (String fruit : linkedList) {System.out.println(fruit);}// 获取链表大小int size = linkedList.size();System.out.println("Size: " + size);// 移除指定位置的元素linkedList.remove(2);// 判断链表是否包含指定元素boolean contains = linkedList.contains("Apple");System.out.println("Contains Apple: " + contains);}
}

4、TreeSet        

        TreeSet是一种基于红黑树(Red-Black Tree)的有序集合,它实现了SortedSet接口。TreeSet中的元素按照升序排序,并且不允许重复元素。下面是一个使用TreeSet的示例代码:

import java.util.TreeSet;public class TreeSetExample {public static void main(String[] args) {TreeSet<Integer> treeSet = new TreeSet<>();// 添加元素到集合treeSet.add(5);treeSet.add(2);treeSet.add(8);treeSet.add(1);// 遍历集合并打印元素(按照升序)for (int number : treeSet) {System.out.println(number);}// 获取集合大小int size = treeSet.size();System.out.println("Size: " + size);// 判断集合是否包含指定元素boolean contains = treeSet.contains(2);System.out.println("Contains 2: " + contains);// 移除指定元素treeSet.remove(8);}
}

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

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

相关文章

DNS的各种进阶新玩法

你们好&#xff0c;我的网工朋友&#xff0c;今天和你聊聊DNS。 01 什么是DNS&#xff1f; mac地址诞生&#xff0c;可是太不容易记忆了&#xff0c;出现了简化了IP形式&#xff0c;它被直接暴露给外网不说&#xff0c;还让人类还是觉得比较麻烦&#xff0c;干脆用几个字母算了…

【Git】一文教你学会 submodule 的增、删、改、查

添加子模块 $ git submodule add <url> <path>url 为想要添加的子模块路径path 为子模块存放的本地路径 示例&#xff0c;添加 r-tinymaix 为子模块到主仓库 ./sdk/packages/online-packages/r-tinymaix 路径下&#xff0c;命令如下所示&#xff1a; $ git subm…

用自己热爱的事赚钱,是多么的幸福

挖掘天赋可能有些困难&#xff0c;但挖掘爱好就简单多啦&#xff01;最幸福的事情就是能用自己喜欢的事情赚钱。 我们要说的是一个博主&#xff0c;他非常喜欢骑自行车&#xff0c;虽然他的工作是在外贸公司做销售&#xff0c;但每当有空时&#xff0c;他都会骑自行车。而且他…

Nginx同时支持Http和Https的配置详解

当配置Nginx同时支持HTTP和HTTPS时&#xff0c;需要进行以下步骤&#xff1a; 安装和配置SSL证书&#xff1a; 获得SSL证书&#xff1a;从可信任的证书颁发机构&#xff08;CA&#xff09;或使用自签名证书创建SSL证书。 将证书和私钥保存到服务器&#xff1a;将SSL证书和私钥…

spring 的事务隔离;Spring框架的事务管理的优点

文章目录 说一下 spring 的事务隔离&#xff1f;Spring框架的事务管理有哪些优点&#xff1f;你更倾向用哪种事务管理类型&#xff1f; 聊一聊spring事务的隔离&#xff0c;事务的隔离对于一个系统来说也是非常重要的&#xff0c;直接上干货&#xff01;&#xff01;&#xff0…

Python与设计模式--享元模式

10-Python与设计模式–享元模式 一、网上咖啡选购平台 假设有一个网上咖啡选购平台&#xff0c;客户可以在该平台上下订单订购咖啡&#xff0c;平台会根据用户位置进行 线下配送。假设其咖啡对象构造如下&#xff1a; class Coffee:name price 0def __init__(self,name):se…

Go iota简介

当声明枚举类型或定义一组相关常量时&#xff0c;Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符&#xff0c;它用于创建自增的无类型整数常量。iota的行为类似于一个计数器…

数据库基础入门 — SQL排序与分页

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

[深度理解] 重启 Splunk Search Head Cluster

1: 背景: 关于释放Splunk search head 的job 运行压力:splunk search head cluster 要重启的话,怎么办? 答案是:splunk rolling-restart shcluster-members Initiate a rolling restart from the command line Invoke the splunk rolling-restart command from any me…

3款免费次数多且功能又强大的国产AI绘画工具

hi&#xff0c;同学们&#xff0c;本期是我们第55 期 AI工具教程 最近两个月&#xff0c;国内很多AI绘画软件被关停&#xff0c;国外绝大部分AI绘画工具费用不低&#xff0c;因此 这两天我 重新整理 国产 AI绘画 工具 &#xff0c; 最终 筛选了 3款功能强大&#xf…

LeeCode前端算法基础100题(3)- N皇后

一、问题详情&#xff1a; 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后…

虚拟机系列:vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?以及相互转换

一. VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面: 首先两种软件的安装使用教程如下: VMware ESXI 安装使用教程 Oracle VM VirtualBox安装使用教程 商业模式:VMware是一家商业公司,而Oracle VM VirtualBox是开源软件; 功能:VMware拥有更多的功能和…

Leetcode200. 岛屿数量

Every day a Leetcode 题目来源&#xff1a;200. 岛屿数量 解法1&#xff1a;深度优先搜索 设目前指针指向一个岛屿中的某一点 (i, j)&#xff0c;寻找包括此点的岛屿边界。 从 (i, j) 向此点的上下左右 (i1,j)&#xff0c;(i-1,j)&#xff0c;(i,j1)&#xff0c;(i,j-1) …

“圆柱-计算公式“技术支持网址

该软件可以计算圆柱的底面圆周长、底面积、侧面积和体积。 您在使用中有遇到任何问题都可以和我们联系。我们会在第一时间回复您。 邮箱地址&#xff1a;elmo30zeongmail.com 谢谢&#xff01;

如何将本地websocket发布至公网并实现远程访问?

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

VR云游:让旅游产业插上数字化翅膀,打造地方名片

自多地入冬降温以来&#xff0c;泡温泉成了许多人周末度假的选择&#xff0c;在气温持续走低的趋势下&#xff0c;温泉游也迎来了旺季&#xff1b;但是依旧有些地区温度依旧温暖&#xff0c;例如南京的梧桐美景也吸引了不少游客前去打卡&#xff0c;大家穿着汉服与金黄的树叶合…

【AI考证笔记】NO.1人工智能的基础概念

以下部分内容来自于百度智能云人才认证培训讲义&#xff0c;腾讯等也有人工智能类似的讲义&#xff0c;限时免费&#xff0c;也就是不报考&#xff0c;也能系统学习&#xff0c;课程做的都是不错的。有感兴趣的朋友&#xff0c;可以去检索学习。 本系列是学习笔记&#xff0c;…

6个常用的聚类评价指标

评估聚类结果的有效性&#xff0c;即聚类评估或验证&#xff0c;对于聚类应用程序的成功至关重要。它可以确保聚类算法在数据中识别出有意义的聚类&#xff0c;还可以用来确定哪种聚类算法最适合特定的数据集和任务&#xff0c;并调优这些算法的超参数(例如k-means中的聚类数量…

C语言——从键盘输人三角形的三个边长 a、b、c,求出三角形的面积。

从键盘输人三角形的三个边长 a、b、c,求出三角形的面积。求三角形的面积用公式areasqrt(s*(s-a)*(s-b)*(s-c)),其中 s1/2(a十bc)。注:要求对输人三角形的三个边长做出有效性判断。 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<math.h> int main…

从word复制内容到wangEditor富文本框的时候会把html标签也复制过来,如果只想实现直接复制纯文本,有什么好的实现方式

从word复制内容到wangEditor富文本框的时候会把html标签也复制过来&#xff0c;如果只想实现直接复制纯文本&#xff0c;有什么好的实现方式&#xff1f; 将 Word 中的内容复制到富文本编辑器时&#xff0c;常常会带有大量的 HTML 标签和样式&#xff0c;这可能导致不必要的格式…