×

java中集合有哪些

java中集合有哪些(java集合有哪些)

admin admin 发表于2024-04-25 08:18:51 浏览24 评论0

抢沙发发表评论

其实java中集合有哪些的问题并不复杂,但是又很多的朋友都不太了解java集合有哪些,因此呢,今天小编就来为大家分享java中集合有哪些的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

java集合有哪些

集合类型主要有3种:set(集)、list(列表)和map(映射)。

1、List(有序、可重复)

List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。

2、Set(无序、不能重复)

Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。

3、Map(键值对、键唯一、值不唯一)

Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。

扩展资料:

JAVA集合类型四种常见输出方式:

1、Iterator:迭代输出,是使用最多的输出方式。

2、ListIterator:是Iterator的子接口,专门用于输出List中的内容。

3、foreach输出:JDK1.5之后提供的新功能,可以输出数组或集合。

4、for循环。

代码示例如下:

for的形式:for(int i=0;i《arr.size();i++){...}

foreach的形式: for(int i:arr){...}

iterator的形式:

Iterator it = arr.iterator();

while(it.hasNext()){ object o =it.next(); ...}

参考资料来源:百度百科:java集合类

大学女生都会的Java拿offer的偏方!

我好像掌握了JAVA 拿offer的偏方

java中的集合框架用过哪些?

java中的集合分为单列集合和双列集合, 单列集合顶接口为Collection, 双列集合顶级接口为Map-

collection的子接口有两个:List和Se to

List接口的特点; 无素可重复, 有序(存取顺序) ,

list接口的实现类:

ArrayList:底层实现是数组, 查询快, 增删慢, 线程不安全, 效丰高;

LinkedList:底层实现是谜表, 增删快, 查询慢, 线程不安全, 效率高;

set接口的特点:元素唯一, 不可重复, 无序,

set接口实现具:

HashSet:底层实现hashMap, 数组十链表实现, 不允许元素重复, 无序。

Tree Set:底层实现红黑二叉树, 实现元素排序

Map-接口的特点:key-value健值对形式存储数据

Map接口实现类;

Hash Nap:底层数组十链表实现, 线程不安全效率高:

TreeMap:底层红黑二叉树实现, 可实现元素的排序;

Linked Hash Nap:底层hash nap+linkedList实现, 通过hashmap实现key-value键值对存锗, 通过徒表实现元素有序。

说一下你对Spring的理解?

Spring这个框架做项目一直都在用吧, 现在月的最多的是Spring Boot和Spring Cloud Alibaba里那些组

件。我先说一下Spring*, Spring的核心主要的就三个点吧I0C, D 1和AOP。

10C控制反转, 不用Spring框架的话如果想创建一个对象, 就new一个。用了Spring以后直接把类交

给Spring来管理, 让Spring给创建对象, Spring就是一个大工厂模式, 底层创建对象的方式是通过配置文

件+反射的方式.

D 1就是依赖注入, 把Spring框架创建好的对象注入到使用的地方, 我们项目中都是用O Auto Mired照

类型注入的方式, 直接获取到这个类的对象。还有AOP, 就是面向切面编程, 它的原理的话, 我看过

它的底层代码,它实际上就是实现了动态代理权制,以前的话用这个做过事务的控制,现在的话我们

都用e Transaction nal注解来控制事务, 其实他底层实现还是aop那一套。

哪些场景不适用索引?

大概分三种情况吧:

第一种情况是:做查询的时候很少用到的列、某个列中包含的数据很少

第二种情况是; 数据类型的宇段是TEXT、BLOB、BIT等数据类型的宇段、

第三种情况是:当在数据表中修改数据的频率大于查询数据频率时等,这些场景不适合创建索引,还有

查询宇投不会做为where条件或者order by字段时也不适合创建索引

什么是死锁

打个比方,低设有P1和P2两个进程,都需要A和B两个资源,现在P1持有A等待B资源,而P2持有B等持

A资源,两个都等持另一个资源而不肯释放资源,就这样无限等持中,这就形成死锁,这也是无锁的一

种情,给死镇下个定义,如果一组进程中每一个进程都在等待仅由该组进程中的其他进程才能引发

的事件,那么读组进程是死镇的。竞争不可抢占资源引起死镇,也就是我们说的第一种情况,而这都在

等待对方占有的不可捡古的资源。

mysql内部西数多了解一下

concat, trim, replace, substring.cur date 0#返回当前日期, cur time 0#返回当前时间, now 0#返回当前

日期十时间i(value, true, false) #如果value值为真, 则回true, 否则, 返田false

select if(salary》3000, ’Hight’, ’Low’) fron salary;

select id, salary, if(salary《=》NULL, ’NULL’, ’NDT NULL’) fron salary;

2、if null(value 1, value 2) #如果value 1不为空, 则延四value l, 不然返回value z

#可以用来进行空值替换

select if null(salary, 0.00) from salary; 等等,

如果数据库误操作,如何执行数据恢复?

看你ny sql有没有开启那个binlog, 然后用mysql自常的mysqlbinlog工具找到最近误操作时间节点的

binlog, 重放到临时数据库里, 然后选择误删的数据节点, 恢复一下。

主库从库数据延迟的问题有遇到过吗?

主要原回:数据库在业务上读写压力太大, CPU井算负砖大, 网卡负荷大, 硬盆随机10太高(本要原回:读写binlog带来的性能影响, 网络传输延迟My5al数据库从库同步的延迟解决方案:

架构方面

1) .业务的持久层采用分库架构, ny sql服务能力水平扩展, 分散压力

2).单个库读写分离,一主多从,主写读从,分散压力。这样从库比主库压力高,保护主库

3) .服务在业务和DB之间加入ner cache和red is的cache层, 降低读的压力

4) ·不同业务的mysql放在不同的物理机, 降低压力

5) , 使用比主库更好的硬件设备, Mq sql压力小, 适迅就减少了

使用Red is缓存有没有遇到什么问题?

你是说的那个缓存雪崩和缓存穿, 我知道暖存雪崩是国为red is中多个key同时失效后, 又透到高井发后就会造成大量的请求直接请求数据库, 导致数据库服务器宏机的情况, 一般这种情况我们会给red is中的key设置不同的生命周期就能解决, 或者是我们给使用分布式锁来解决; 还有缓存穿透的话就是大并发请求过来,查询一个连数据库都没有的数据,频繁的请求数据库导致数据库宏机,这种解决方靠是我们会存到red is一个key值value为null, 给个失效时间, 也可以避免这种问题,

说一下red is集群吗?

Red is本身支持集群操作red is_a luster, 另外red is还支持主从复制, 以前的老版本中有一个哨兵模式, 在主服务器机时, 从服务器可以自动转换为主服务器, 我们公司搭建的red is集群是用的ruby脚本配合搭建的,我们一去茶建了6台服务器,3主3备,他们之间通信的原理是有一个乒乓协议进行通信的,他们判断一个节点的状态是用投票选举机制判断的,半数以上判断一个接口是宏机了的话,备用节点就会启动对, 我再给你说下一他们往里存储数据的机制, 其实这个red is搭建好集群以后每个节点都存放着一个hash槽, 每次往里存储数据的时候, red is都会根据存储进来的key值算出一个hash值, 通过这个hash值可以判断到底应该存诸到哪一个哈希槽中, 取的时候包是这么取的, 这就是我了解的red is集群。

简单说一下Spring MVC与Spring是如何整合的?

简单的说spring MVC在ssm中整合就是在web.xml边配置spring MVC豹核心控制器:Dispatch-

er servlet, 它就是对指定后纸进行柜截; 然后在spring NVC.x nl里边配置扫描器, 可以扫插到带a control-ler注解的这些类, 现在用spring NVC都是基与注解式开发, 像e service, Repository B Request nap-

ping, O response body啦这些注解标整等等都是开发时用的, 每个注解标签都有自己的作用; 它还配置一个视图解析器, 主要就是对处理之后的转进行统一配置, 大致就是这些, 如何使用spring MVC获取表早里的数据?通过形参和表单里的nane值保持一致就能获取到,

说一下Spring Boot吧?

Spring Boot:的定大于配置:同样通过自动配置, 引入依赖后, 加载默认配置文件, 如果要自定义的话可以通过java类实现, 也可以在全局配置文件(application.properties, application.yml) 中定义;Spring Boot优点

1.快速创建独立运行的Spring项因以及与主流框架集成

2.使用嵌入式的Servlet容器应用无需打成WAR包(jar)

3.Starters(场景启动器) 自动依赖与版本控制

4.大量的自动配置,简化开发,也可修改默认值

5.5.无需配置大量的X NL, 无代码生成, 开箱即用

简单说一下sql语句是怎么优化的?

我们一般在开发的时候需要注意SOL规范, 比如说最基本的不要用*查询所有字段, 还要是经常用表别名, 经常corm it提交事务尽量让及时释放国滚点, 如果使用函数的话尽量使用内部的函数, 还有一个优化的地方是项目上线后,产生大量数据后,由测试人员发现某些的功能点响应比较慢,反镜给我们开发人员,我们开发人员找到这个功能点对应的sql语句, 如果这个sql语句写的比较复杂, 我们就得用explain去分析-下5QL语句的执行计划,看下是不是索引失效了,或者是执行到某一个子查询的语向执行比较慢,然后我们去优化达些个sql, 优化方式是什么?比如说加索引, 或者创建视图。

java有哪些集合

Java集合主要有四种,分别为:List列表、Queue队列、Set集合、Map映射。List列表:有序的,可重复的;Queue队列:有序,可重复的;Set集合:不可重复;Map映射:无序,键唯一,值不唯一。

关于java中集合有哪些,java集合有哪些的介绍到此结束,希望对大家有所帮助。