JAVA 应用与开发 - 集合与映射# JAVA 应用与开发 集合与映射 让我们愉快的 Coding 起来吧... 王晓东 中国海洋大学信息学院计算机系 November 4, 2019  ## 学习目标 ■ 掌握列表(List)、集(Set)、映射(Map)的概念、层次关系 次关系 ■ 熟练应用相关集合容器 ■ 掌握迭代器(iterator)、Enumeration 接口等容器操作常用 API ☑ 了解集合容器的人为性能提升及线程安全等 ## ⼤纲 1 集合概念及分类 2 Collection 和 Map 接口 3 列表 4 Iterator 接口 5 集 6 映射 7 其他相关 API ## 集合概念及分类 ## 集合和数组 面向存放多个数据的需求 数组用于存放指定长度的数据。 ## 集合和数组 ## 面向存放多个数据的需求 ☑ 数组用于存放指定长度的数据。 ■ 需要保存可以动态增长的数据(在编译时无法确定具体的数量),则需要用到 Java 的集合类。 ## 集合类型 集合就是将若干用途、性质相同或相近的“数据”组合而成一个整体。 ## 集合类型 集合就是将若干用途、性质相同或相近的“数据”组合而成一个整体。 ## 集合类型分类 集 Set 集合中不区分元0 码力 | 66 页 | 713.79 KB | 2 年前3
stdx::interval, a library for intervals on totally ordered sets0 码力 | 1 页 | 45.14 KB | 1 年前3
Kotlin 1.2 Language Documentation0 码力 | 333 页 | 2.22 MB | 2 年前3
The Python Handbook
0 码力 | 93 页 | 7.31 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器<< endl; vector={arch, any, zero, Linux} set={Linux, any, arch, zero} 警告:千万别用 set做字符串集合。这样只会按字符串指针的地址去判断相等,而不是所指向字符串的内容。 ## set 的排序:自定义排序函数 - set 作为模板类,其实有两个模板参数:set## 向 set 中插入元素 - 刚刚说过 set 具有自动去重的功能,如果插入的元素已经在 set 中存在,则不会完成插入。 - 例如往集合 $ \{1,2,4\} $ 中插入 4 则什么也不会发生,因为 4 已经在集合中了。 set b = {1, 4, 2, 1}; cout << "插入之前:" << b << b524d4f83362316/p31_1.jpg) 出错! ## 在 set 中查询元素是否存在 因此,可以用这个写法: • set.find(x) != set.end() - 来判断集合 set 中是否存在元素 x。 - 这是个固定的写法,虽然要调用两个函数看起来好像挺麻烦,但是大家都在用。 • iterator find(int const &val) const; 0 码力 | 83 页 | 10.23 MB | 2 年前3
Laravel 6.0 中文文档第一部分:序言 新版特性 Laravel 6.0(LTS 版本)在 Laravel 5.8 的基础上继续进行优化,包括引入语义化版本、兼容 Laravel Vapor、优化授权响应、支持任务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提升。 ## 语义化版本 Laravel 框架包 Laravel/framework RateLimited]; } ## 懒集合 许多开发者已经使用过 Laravel 功能强大的集合方法了,在 Laravel 6.0 中新引入了一个 LazyCollection 类来对 Collection 类进行补充,LazyCollection 底层基于 PHP 的生成器实现,适用于处理大型数据集。 例如,假设你的应用需要处理 GB 级别的日志文件,并使用 Laravel 的集合方法来解析日志,这个时候 的集合方法来解析日志,这个时候将整个日志文件一次性读取到内存显然是不合适的,这个时候懒集合类就派上用场了,它可以每次只读取文件的一小部分到内存: use App\LogEntry; use Illustrate\Support\LazyCollection; LazyCollection::make(function () { $handle = fopen('log.txt', 'r');0 码力 | 1442 页 | 14.66 MB | 2 年前3
Laravel 5.6 中文文档Route::resource('posts', 'PostController'); 注:注意保持控制器的单一职责,如果你发现指向控制器动作的路由超过默认提供的资源控制器动作集合了,考虑将你的控制器分割成多个更小的控制器。 ## 依赖注入 ## 构造函数注入 Laravel 使用服务容器解析所有的 Laravel 控制器,因此,可以在控制器的构造函数中注入任何依赖,这 JSON 响应: Route::get('//', function () { return [1, 2, 3]; }); 注:你知道还可以从路由或控制器返回 Eloquent 集合吗?这也会被自动转化为 JSON 响应。 通常,我们并不只是从路由动作简单返回字符串和数组,大多数情况下,都会返回一个完整的 Illuminate\Http\Response 实例或视图。返回一个完整的 控制,则可以考虑使用 @component。 ## 渲染集合视图 你可以使用 Blade 的 @each 指令通过一行代码循环引入多个局部视图: @each('view.name', $jobs, 'job') 该指令的第一个参数是数组或集合中每个元素要渲染的局部视图,第二个参数是你希望迭代的数组或集合,第三个参数是要分配给当前视图的变量名。举个例子,如果你要迭代一个0 码力 | 377 页 | 14.56 MB | 2 年前3
使用Go与redis构建有趣的应用structure store ## 特点 ## 特点 - 具有多种不同的数据结构可用,其中包括:字符串、散列、列表、集合、有序集合、位图( bitmap)、HyperLogLog、地理坐标(GEO) ## 特点 - 具有多种不同的数据结构可用,其中包括:字符串、散列、列表、集合、有序集合、位图( bitmap)、HyperLogLog、地理坐标(GEO) • 内存存储和基于多路复用的事件响应系统,确保了命令请求的执行速度和效率 、散列、列表、集合、有序集合、位图( bitmap)、HyperLogLog、地理坐标(GEO) • 内存存储和基于多路复用的事件响应系统,确保了命令请求的执行速度和效率 - 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化方式(AOF、RDB、RDB+AOF 混合) ## 特点 - 具有多种不同的数据结构可用,其中包括:字符串、散列、列表、集合、有序集合、位图( bi 强大的多机功能支持:主从复制(单主多从)、Sentinel(高可用)、集群(基于 Raft 算法,多主多从,内建高可用) ## 特点 - 具有多种不同的数据结构可用,其中包括:字符串、散列、列表、集合、有序集合、位图( bitmap)、HyperLogLog、地理坐标(GEO) • 内存存储和基于多路复用的事件响应系统,确保了命令请求的执行速度和效率 - 丰富的附加功能:事务、Lua 脚本、键过期0 码力 | 176 页 | 2.34 MB | 2 年前3
Laravel 5.2 中文文档这一改变对之前代码没有什么影响。 ## 集合 ## Eloquent 集合基类 调用 Eloquent 集合实例的 pluck, keys, zip, collapse, flatten, flip 方法现在会返回集合基类。 ## 保留键名 slice、chunk 和 reverse 方法现在会保留集合的键名,如果你不想这些方法保留键名,使用集合实例的 values 方法即可。 ## Composer elixir 方法现在返回一个完整 URL 而不是相对 URL,这对应用程序没有什么影响,除非你曾经手动将这些 URL 转化成完整 URL。 ## Eloquent ## 日期转化 当调用模型或模型集合的 toArray 方法时,任何添加到 $casts$ 的属性, 如 date 或 datetime,现在都会被转化为字符串。这使得在 $dates 数组中制定的日期转化变得简单方便。 ## 全局作用域 废弃 下面这些功能在 Laravel 5.2 中被废弃,在 Laravel 5.3 中会被彻底移除: - Illuminate\Contracts\Bus\SelfHandling 契约 • 集合的 lists 方法被重命名为 pluck 方法。 - 隐式控制器路由 Route::controller 被废弃。在路由文件中请使用明确的路由注册。 Laravel 5.1 的 database0 码力 | 377 页 | 4.56 MB | 2 年前3
Laravel 5.3 中文文档10.6 Redis ..... 458 11. Eloquent ORM ..... 463 11.1 起步 ..... 463 11.2 关联关系 ..... 488 11.3 集合 ..... 516 11.4 访问器&修改器 ..... 518 11.5 序列化 ..... 523 12. Artisan Console ..... 528 12.1 .. 604 14.3 Laravel Scout ..... 610 14.4 Laravel Socialite ..... 622 15. 附录 ..... 626 15.1 集合 ..... 626 15.2 辅助函数 ..... 659 15.3 包开发 ..... 681 ### 1. 序言 ### 1.1 发行版本说明 ## 1、 支持政策 对于 LTS Cashier,需要升级 laravel/cashier 扩展包到 7.0 版本,这一版本的 Cashier 只修改了一些内置方法以便兼容于 Laravel 5.3,并没有什么重大更新。 ## 集合 ## key/value 顺序调整 集合方法 first, last 和 contains 都将“value”作为第一个参数传递给相应的回调闭包,例如: $collection->first(function0 码力 | 691 页 | 9.37 MB | 2 年前3
共 556 条
- 1
- 2
- 3
- 4
- 5
- 6
- 56













