JAVA 应用与开发 - 集合与映射JAVA 应用与开发 集合与映射 让我们愉快的 Coding 起来吧... ��� �������������� November 4, 2019 ���� �����List����Set�����Map�的������� ���������� ������iterator��Enumeration ��������� API ������的������������ 1 28 ������� 集合��� O 面向存放多个数据的需求 ��用����������� �������������������������� ������用� Java �集合�� 3 28 集合��� O 面向存放多个数据的需求 ��用����������� �������������������������� ������用� Java �集合�� 3 28 集合�� 集合���� O 集合类型分类 � Set ��������的������������� ������������的��� �� List ������的��������������� ������的���������������� �������� �� Map �����的��¡���Key-Value������ �������的��������������� 注意 Java 集合中只能保0 码力 | 66 页 | 713.79 KB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版数据缓冲区:在某些数据缓冲区的实现中,也可能会使用环形链表。比如在音频、视频播放器中,数据 流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 4.3 列表 列表(list)是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 为了解决该问题,我们可以采用懒删除(lazy deletion)机制:它不直接从哈希表中移除元素,而是利用一个 常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同的 是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 第 6 章 哈希表 www.hello‑algo.com 124 然而,懒删除可能会加速0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.1.0 Java版数据缓冲区:在某些数据缓冲区的实现中,也可能会使用环形链表。比如在音频、视频播放器中,数据 流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 4.3 列表 列表(list)是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 为了解决该问题,我们可以采用懒删除(lazy deletion)机制:它不直接从哈希表中移除元素,而是利用一个 常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同的 是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 第 6 章 哈希表 hello‑algo.com 124 然而,懒删除可能会加速哈希0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版数据缓冲区:在某些数据缓冲区的实现中,也可能会使用环形链表。比如在音频、视频播放器中,数据 流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 4.3 列表 「列表 list」是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 为了解决该问题,我们可以采用「懒删除 lazy deletion」机制:它不直接从哈希表中移除元素,而是利用一 个常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同 的是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 第 6 章 哈希表 hello‑algo.com 124 然而,懒删除可能会加速哈希0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Java 版會使用環形鏈結串列。比如在音訊、影片播放器中, 資料流可能會被分成多個緩衝塊並放入一個環形鏈結串列,以便實現無縫播放。 4.3 串列 串列(list)是一個抽象的資料結構概念,它表示元素的有序集合,支持元素訪問、修改、新增、刪除和走訪 等操作,無須使用者考慮容量限制的問題。串列可以基於鏈結串列或陣列實現。 ‧ 鏈結串列天然可以看作一個串列,其支持元素增刪查改操作,並且可以靈活動態擴容。 鏈結串列透過更改引用(指標)實現高效的節點插入與刪除,且可以靈活調整長度;但節點訪問效率 低、佔用記憶體較多。常見的鏈結串列型別包括單向鏈結串列、環形鏈結串列、雙向鏈結串列。 ‧ 串列是一種支持增刪查改的元素有序集合,通常基於動態陣列實現。它保留了陣列的優勢,同時可以靈 活調整長度。 ‧ 串列的出現大幅提高了陣列的實用性,但可能導致部分記憶體空間浪費。 ‧ 程式執行時,資料主要儲存在記憶體中。陣列可提供更 hello‑algo.com 187 9.1 圖 圖(graph)是一種非線性資料結構,由頂點(vertex)和邊(edge)組成。我們可以將圖 ? 抽象地表示為一 組頂點 ? 和一組邊 ? 的集合。以下示例展示了一個包含 5 個頂點和 7 條邊的圖。 ? = {1, 2, 3, 4, 5} ? = {(1, 2), (1, 3), (1, 5), (2, 3), (2, 4), (2, 5)0 码力 | 379 页 | 18.79 MB | 10 月前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . 85 8.1.1 泛型的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.1.2 集合框架中的泛型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2 泛型类与泛型方法 . . . . . . . . . . . 3 处理泛型类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.3.1 遍历泛型 Vector 集合 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.3.2 泛型类型的处理方法 . . . . . . . . . . . . . 110 10 集合与映射 111 10.1 集合概念及分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10.1.1 集合和数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10.1.2 集合类型 . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
JAVA 应用与开发 - 泛型Java ��� �的类型������������ 3 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new elementAt(0); 4 p.showInfo(); 4 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new ��泛型 Vector �� O 遍历 Vector类型集合 1 public void overview(Vector v) { 2 for(String o: v) { 3 String.out.println(o); 4 } 5 } 遍历其他类型参数的 Vector 集合元素该怎么办? �道要�� overview(Vector 0 码力 | 35 页 | 587.40 KB | 1 年前3
跟我学Shiro - 张开涛cator-all-success.ini"); Subject subject = SecurityUtils.getSubject(); //得到一个身份集合,其包含了 Realm 验证成功的身份信息 PrincipalCollection principalCollection = subject.getPrincipals(); 不会去做这件事情,而是由实现人员提供。 Shiro 支持粗粒度权限(如用户模块的所有权限)和细粒度权限(操作某个用户的权限,即 实例级别的),后续部分介绍。 角色 角色代表了操作集合,可以理解为权限的集合,一般情况下我们会赋予用户角色而不是权 限,即这样用户可以拥有一组权限,赋予权限时比较方便。典型的如:项目经理、技术总 监、CTO、开发工程师等都是角色,不同的角色拥有一组不同的权限。 断逻辑中删除掉; 即粒度是以角色为单位进行访问控制的,粒度较粗;如果进行修改可能造成多处代码修改。 显示角色:在程序中通过权限控制谁能访问某个资源,角色聚合一组权限集合;这样假设 哪个角色不能访问某个资源,只需要从角色代表的权限集合中移除即可;无须修改多处代 码;即粒度是以资源/实例为单位的;粒度较细。 跟我学 Shiro——http://jinnianshilongnian.iteye0 码力 | 219 页 | 4.16 MB | 10 月前3
Java 应用与开发 - Java 内存模型与分配机制保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 Java 程序的动态链接中起了核心作用。(Perm) 代码段 存放从硬盘上读取的源程序代码。(Perm) 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 Java 程序的动态链接中起了核心作用。(Perm) 代码段 存放从硬盘上读取的源程序代码。(Perm) 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 Java 程序的动态链接中起了核心作用。(Perm) 代码段 存放从硬盘上读取的源程序代码。(Perm)0 码力 | 44 页 | 818.30 KB | 1 年前3
Apache Shiro参考手册中文版实例以迭代的顺序进行交互。 在 SecurityManager 中已经配置好了 ModularRealmAuthenticator 对 Realm 实例的访问。当执行一个认证尝试时, 它将会遍历该集合,并对每一个支持提交 AuthenticationToken 的 Realm 调用 Realm 的 getAuthenticationInfo 方 法。 Implicit ordering(隐式排列) realm 的属性。 Explicit Ordering(显示排列) 如果你想明确地定义 Realm 的交互顺序,忽略它们是如何定义的,你可以设置 securityManager 的属性作为一 个明确的集合属性。例如,如果使用上面的定义,但你想 blahRealm 最后被请求而不是第一个: blahRealm = com.company.blah.Realm … fooRealm = com.company 们不反映是谁能够执行这样的行为。 定义(用户)被允许做什么(权限),是一个以某种方式分配给用户权限的运用。这通常是由应用程序的数据模型 来完成的,并且不同应用程序间变化很大。 例如,权限能够被集合到一个角色中,该角色可以与一个或多个用户对象相关联。或者某些应用程序可以有一组可 以被分配一个角色的用户和组,传递的关联意味着该组中的所有用户都隐式地获得了该角色的权限。 如何授予用户权限可以有很0 码力 | 92 页 | 1.16 MB | 1 年前3
共 22 条
- 1
- 2
- 3













