Delphi XE System.Generics.Collections[2].TObjectDictionary - 键和/或值对象的集合
Delphi XE System.Generics.Collections[2].TObjectDictionary - 键和/或值对象的集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | TDictionaryOwnerships = set of (doOwnsKeys, doOwnsValues); TObjectDictionary<K,V> = class (TDictionary<K,V>) private FOwnerships: TDictionaryOwnerships; protected procedure KeyNotify( const Key: K; Action: TCollectionNotification); override; procedure ValueNotify( const Value: V; Action: TCollectionNotification); override; public constructor Create(Ownerships: TDictionaryOwnerships; ACapacity: Integer = 0 ); overload; constructor Create(Ownerships: TDictionaryOwnerships; const AComparer: IEqualityComparer<K>); overload; constructor Create(Ownerships: TDictionaryOwnerships; ACapacity: Integer ; const AComparer: IEqualityComparer<K>); overload; end ; |
描述:
- TObjectDictionary表示键和/或值对象的通用集合。它可以将关键点处理为对象,将值处理为对象或将两者都处理为对象。
- TObjectDictionary能够自动处理对象的生存期。实例化TObjectDictionary时,Ownerships参数指定字典是否拥有键、值或两者。在Create方法中,动态检查类型参数。如果未指定所有权(空集),则TObjectDictionary的功能与TDictionary的相同。
以下读写TDictionary或TObjectDictionary的方法,包括写入时重复键或读取时找不到键的影响。
Write 写入
Method | Index type | Value type | If duplicate key | 方法功能描述 |
---|---|---|---|---|
Add | TKey | TValue | Exception | |
AddOrSetValue | TKey | TValue | Overwrite | 添加键值对,即使键值已经存在。 |
Items | TKey | TValue | Overwrite |
Read 读取
Method | Index/input type | Result type | If key not found | Notes |
---|---|---|---|---|
ContainsKey | TKey | Boolean | false |
测试字典中的键。 如果给定的键在字典中,则ContainsKey返回true,否则返回false。这是O(1)操作。 |
ContainsValue | TValue | Boolean | n/a |
检查字典中的值。如果给定值在字典中,则ContainsValue返回true,否则返回false。 这是一个O(n)运算,其中n是字典中的条目数。 |
ExtractPair | TKey | TPair | Default pair |
Returns TPair, removes item from dictionary 返回TPair,从字典中删除项 |
Items | TKey | TValue | Exception |
Use TryGetValue to avoid exception 使用TryGetValue避免异常 |
operator [] | TKey | TValue | Exc | C++ only |
Keys | n/a | TKeyCollection | n/a | |
ToArray | n/a | TArray<TPair<TKey,TValue>> | n/a | |
TryGetValue | TKey | TValue, Boolean | default,false | Like Items[] without exception |
Values | n/a | TValueCollection | n/a |
创建时间:2022.11.03 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
分类:
Delphi System单元
标签:
Delphi XE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
2021-11-03 C[5] 运算符 - 赋值、杂项、优先级
2020-11-03 Delphi 操作Windows系统睡眠-防止系统/电脑 进入睡眠或关闭显示器
2020-11-03 Delphi WinAPI SetThreadExecutionState - 防止系统在应用程序运行时进入睡眠状态或关闭显示器。