JAVA容器小结1

本文简要介绍了Java中一些不常用的方法和相关知识点,包括添加元素、子集合操作、迭代器、集合类、适配器方法及持有对象方式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对Java中一些不太常用的方法和相关知识点简要介绍

1.添加一组元素

Arrays.asList() 参数:数组或元素列表
Collections.addAll() 参数:Collection对象,数组, 元素列表

2. 一些不常用方法

  • subList() : 求一个list的子集合
  • containsAll() : 一个集合是否包括另一个集合的所有元素
  • retain() : 求2个集合的交集,剔除非交集内的元素

3. 迭代器Iterator(也作为一种设计器模式)

统一了对容器的访问方式,在Collection中提供了iterator()接口产生迭代器:有方法 hasNext() next() remove()
子类ListIterator可作双向移动

4. LinkedList可作为对栈、队列或双端队列的实现

  • 获取:
getFirst() / element() :列表空,抛NoSuchElementException
peek() : 列表空,返回null
  • 移除:
removeFirst() / remove :  列表空,抛NoSuchElementException
poll() : 列表空,返回null

5. set集合较常用于测试元素归属性,contains()

    不能存放重复元素,放入元素必须重写equals()和hashcode()方法

6. map 对象与对象的映射

  • 键的set:keySet() 从接口中看出Key不能重复
  • 值的Collection:values() 值可以重复

7. Collection与Iterator

  • Collection:描述所有序列容器的共性的根接口,实现时必须强制实现iterator()和size()
  • Iterator:为解决对容器的统一遍历,实现:index, hasNext(), next(), remove();实现它对序列的约束相对较少

8. Foreach与Iterator

  • foreach:适用于:1)数组;2)Collection对象;3)实现了Iterable的类
  • Iterator:Java SE5引入了包含一个能产生迭代器Iterator的iterator()方法,在Java SE5中大量的类都实现了Iterable,包括Collection不包括Map

9. 适配器方法:当有一个接口而且需要另一个接口时,可添加一个生成此接口的方法(适配一个接口出来)

10. Arrays.asList():使用底层的数组作为物理实现,不想修改原始数组,就在另一个容器中创建一个副本

总结JAVA中持有对象的方式:

  • 数组:数字与对象关联;类型明确;可多维;可保存基本类型;定长
  • Collection:单一元素;Map:相关联键值对。结合泛型不必类型转换;动长;不持基本类型但有自动包装机制解决
  • List:同数组,数字与对象关联。ArrayList:随机访问;
  • LinkedList:长于插入/删除, 对Queue和Stack提供实现
  • Map:HashMap:快速访问;TreeMap:键有序;
  • LinkedHashMap:插入有序,快速访问
  • Set:元素唯一。 HashSet:快速访问;TreeSet:元素有序;LinkedHashSet:以插入顺序保存

简单类图结构
常用容器类图体系

1. 技术选型:使用 Spring MVC 框架进行开发,其中使用 MyBatis 作为 ORM 框架,使用 Redis 来缓存部分数据,使用 Solr 来进行搜索,使用 Nginx 进行反向代理与负载均衡。 2. 数据库设计:根据需求设计了商品表、用户表、订单表、购物车表等,使用 MyBatis Generator 自动生成了对应的 Java 实体类和 Mapper 接口。 3. 开发流程:采用敏捷开发的方式,使用 Git 进行版本控制,使用 Maven 进行项目管理,使用 Jenkins 进行自动化构建和部署。 4. 安全性:使用 Spring Security 进行权限控制,防止 SQL 注入和 XSS 攻击,使用 SSL/TLS 协议进行数据传输加密。 5. 性能优化:使用 Redis 缓存部分数据,使用 Solr 进行搜索,使用 Nginx 进行反向代理与负载均衡,使用 CDN 加速静态资源访问,对数据库进行索引优化等。 6. 测试与部署:使用 JUnit 进行单元测试,使用 Selenium 进行功能测试,使用 Jenkins 进行自动化构建和部署,使用 Docker 进行容器化部署。 7. 前端开发:采用 Bootstrap 框架和 jQuery 库进行前端开发,使用 AJAX 进行异步数据交互,使用 Thymeleaf 模板引擎进行页面渲染。 8. 项目总结:在开发过程中,需要不断地进行需求分析、设计、编码、测试和部署等环节,并且要关注项目的可维护性、可扩展性和可靠性,同时要不断地学习新技术和提高自己的编程能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值