基于Java中的数值和集合详解

发布时间 - 2026-01-11 02:26:18    点击率:

数组array和集合的区别:

(1) 数值是大小固定的,同一数组只能存放一样的数据。

(2) java集合可以存放不固定的一组数据

(3) 若程序事不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用

数组转换为集合:

Arrays.asList(数组)

示例:

int[] arr = {1,3,4,6,6}; Arrays.asList(arr); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }

集合转换为数组:

集合.toArray();

示例:

List list = new ArrayList(); list.add("a"); list.add("b"); list.toArray(); System.out.println(list.toString());

一、集合的体系结构:

List、Set、Map是这个集合体系中最主要的三个接口。 List和Set继承自Collection接口。 Map也属于集合系统,但和Collection接口不同。

Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。Set 只能通过游标来取值,并且值是不能重复的。

List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。 ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的 LinkedList 是线程不安全的,底层是由链表实现的

Map 是键值对集合。其中key列就是一个集合,key不能重复,但是value可以重复。 HashMap、TreeMap和Hashtable是Map的三个主要的实现类。 HashTable 是线程安全的,不能存储 null 值 HashMap 不是线程安全的,可以存储 null 值

二、List和ArrayList的区别

1.List是接口,List特性就是有序,会确保以一定的顺序保存元素。

ArrayList是它的实现类,是一个用数组实现的List.

Map是接口,Map特性就是根据一个对象查找对象.

HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找。(关于散列查找,可以参看<<数据结构>>)

2.一般情况下,如果没有必要,推荐代码只同List,Map接口打交道。

比如:List list = new ArrayList();

这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要:

List list = new LinkedList();//LinkedList也是List的实现类,也是ArrayList的兄弟类

这样,就不需要修改其它代码,这就是接口编程的优雅之处.

另外的例子就是,在类的方法中,如下声明:

private void doMyAction(List list){}

这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数.

3.如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类.

以上这篇基于Java中的数值和集合详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java  # 集合  # Java中对List集合的常用操作详解  # java集合求和最大值最小值示例分享  # java中List集合及其遍历详解  # java集合遍历的几种方式总结及详细比较  # 是一个  # 是由  # 给大家  # 转换为  # 不安全  # 实现了  # 就不  # 这就是  # 之处  # 这两个  # 数据结构  # 可以通过  # 希望能  # 这样做  # 自定义  # 只需要  # 最主要  # 这篇  # 小编  # 要使 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android okhttputils现在进度显示实例代码  linux写shell需要注意的问题(必看)  如何在不使用负向后查找的情况下匹配特定条件前的换行符  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  香港服务器租用费用高吗?如何避免常见误区?  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何用虚拟主机快速搭建网站?详细步骤解析  零服务器AI建站解决方案:快速部署与云端平台低成本实践  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何获取免费开源的自助建站系统源码?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Firefox Developer Edition开发者版本入口  如何在阿里云虚拟主机上快速搭建个人网站?  如何在腾讯云免费申请建站?  如何基于PHP生成高效IDC网络公司建站源码?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何快速搭建个人网站并优化SEO?  如何用PHP快速搭建高效网站?分步指南  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何用搬瓦工VPS快速搭建个人网站?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  网站制作报价单模板图片,小松挖机官方网站报价?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  jquery插件bootstrapValidator表单验证详解  什么是javascript作用域_全局和局部作用域有什么区别?  Laravel怎么上传文件_Laravel图片上传及存储配置  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel观察者模式如何使用_Laravel Model Observer配置  简历在线制作网站免费版,如何创建个人简历?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何打造高效商业网站?建站目的决定转化率  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  iOS UIView常见属性方法小结  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何有效防御Web建站篡改攻击?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  C#如何调用原生C++ COM对象详解