首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java中关于set()和get()方法的理解和使用

set()是给属性赋值的,get()是取得属性值的 被设置和存取的属性一般是私有 主要是起到封装的作用,不允许直接对属性操作 set()和get()不一定同时存在,看程序需求  释一:属性的访问器包含与获取...set 访问器set 访问器与返回 void 的方法类似。它使用称为 value 的隐式参数,此参数的类型是属性的类型。 ...备注:  属性按如下方式,根据所使用的访问器进行分类:只带有 get 访问器的属性称为只读属性。无法对只读属性赋值。 只带有 set 访问器的属性称为只写属性。...只写属性除作为赋值的目标外,无法对其进行引用。 同时带有 get 和 set 访问器的属性为读写属性。 在属性声明中,get 和 set 访问器都必须在属性体的内部声明。...满足一定条件让GET和SET来改变类中的私有变量,而不能让实例直接操作。像上面的代码保证了color属性的安全性。

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    map和set的使用

    即将学习的map 和set属于关联式容器,其里面存储的是结构的键值对,在数据检索时比序列式容器效率更高。...这四种容器的共同点是:使用平衡搜索树(即红黑树)作为其底层结果,容器中的元素是一个有序的序列。下面一依次介绍每一个容器。...T> // set::allocator_type > class set; T: set中存放元素的类型,实际在底层存储的键值对。...Compare:set中元素默认按照小于来比较 Alloc:set中元素空间的管理方式,使用STL提供的空间配置器管理 set简单使用 set的功能:1、实现搜索(key模型)2、排序+去重 另外set...),需要用户自己显式传递比较规则(一般情况下按照函数指针或者仿函数来传递) Alloc:通过空间配置器来申请底层空间,不需要用户传递,除非用户不想使用标准库提供的空间配置器 注意:在使用map时,需要包含头文件

    7910

    使用redis benchmark 测试不同value下get set性能和key占据内存

    准备工作环境:WIN10 Redis-x64-3.2.100 redis启动: redis-server.exe redis.windows.conf图片1.使用 redis benchmark 工具..., 测试 10 20 50 100 200 1k 5k 字节 value 大小,redis get set 性能。...图片根据上图查出我们需要测试用的命令:注意最后的10代表以字节的形式指定SET/GET值的数据大小。...虽然性能有所下降,但是整体上看还是有90%以上的速度。但是到5000这个量级时,每秒能处理的请求瞬间下降到23781个。只剩下了50%不到的速度。...写入一定量的 kv 数据, 根据数据大小 1w-50w 自己评估, 结合写入前后的 info memory 信息 , 分析上述不同 value 大小下,平均每个 key 的占用内存空间。

    1.1K10

    【c++】set和map的使用

    树形结构的关联式容器 `3.1 set` 3.1.1 set的使用 `lower_bound` `upper_bound` 3.2 map 3.2.1 map的使用 `operator[]` multiset...set中插入元素时,只需要插入value即可,不需要构造键值对。 set中的元素不可以重复(因此可以使用set进行去重)。...使用set的迭代器遍历set中的元素,可以得到有序序列 set中的元素默认按照小于来比较 set中查找某个元素,时间复杂度为: log_2 n set中的元素不允许修改 set中的底层使用二叉搜索树(红黑树...)来实现 3.1.1 set的使用 T: set中存放元素的类型,实际在底层存储的键值对。...它返回一个包含两个迭代器的 pair,这对迭代器分别代表键等于给定键的元素序列的开始和结束 当在普通的(非multi)容器中使用 equal_range 时,返回的范围包含零个或一个元素。

    6600

    C++:map和set的使用

    2. set中插入元素时,只需要插入value即可,不需要构造键值对。 3. set中的元素不可以重复(因此可以使用set进行去重)。 4....使用set的迭代器遍历set中的元素,可以得到有序序列 5. set中的元素默认按照小于来比较(可以通过仿函数去改变) 6. set中查找某个元素,时间复杂度为:log2n 小小总结一下重点:set...3.2.1 构造函数 1、空的set 2、迭代器区间构造(可以是其他容器的迭代器) 3、拷贝构造 3.2.2 迭代器 有着和vector和list一样的迭代器,但是要注意的是: (1)该迭代器是一个双向迭代器...拷贝构造map 5.2.2 迭代器 map中的key和set一样是不可修改的,但是value是可以修改的!!...6.2 multimap的使用 multimap的insert可以支持键值冗余,find和erase如果涉及到多个key会返回中序的第一个。和multiset基本一样,这里就不做过多介绍。

    13410

    【C++】set和map的使用

    对于STL容器来说,有很多相似的功能,所以这里主要将与之前不同的功能说清楚 @TOC 1.对于set与map的简单理解 vector/list/deque 作为序列式容器(类似于线性表的存储方式) map...与set作为关联式容器,里面存储的是结构的键值对(数据之间有非常强的关联关系) 键值对:用来表示一 一对应的关系,key代表键值,value代表与key对应的信息 如:中英文互译字典...,内部的英文必然有一个中文对应 ---- map与set 底层是二叉搜索树 ---- set作为key模型 map作为 key_value模型 不懂的可以点击了解:二叉搜索树的应用场景 2. set set...insert 由于底层是二叉搜索树,所以要注意若插入相同的key值,就会造成插入失败 迭代器遍历 set底层是二叉搜索树,所以重复的值在树中插入会失败 相当于完成了去重操作 ---- 不能随便修改...若在返回非0,若不在返回0 但是由于set不支持重复的key值插入,所以count只能判断在不在 count的效果与二叉搜索树的应用场景的写法,效果是等价的 x作为key值,若存在则进入if 输出在

    12820

    Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)

    上文介绍reids的安装以及基本概念,本章节主要介绍 Redis的基本使用命令的使用 Redis 是一个基于键值对(KEY - VALUE)存储的高性能数据库。...在这种存储模式下,数据以键(KEY)和值(VALUE)的形式进行组织和存储。...:6379> set key3 value3 OK 2)过期时间设置(EX 和 PX) EX用于设置键值对的过期时间,单位是秒。...如果键已经过期,那么在执行相应的操作(如GET、SET等)之前,Redis 会先删除这个过期的键,然后返回键不存在的结果(如nil)。...例如,可能会每次抽取 100 个键进行检查,发现过期的键就立即删除。 Redis 过期策略的综合应用 在实际的 Redis 应用中,惰性删除和定期删除是结合使用的。

    30110

    C# 通过ServiceStack 操作Redis——Set类型的使用及示例

    Set:用哈希表来保持字符串的唯一性,没有先后顺序,存储一些集合性的数据 /// /// Set:用哈希表来保持字符串的唯一性,没有先后顺序,存储一些集合性的数据.../// 1.共同好友、二度好友 /// 2.利用唯一性,可以统计访问网站的所有独立 IP /// public class RedisSetService...keys集合中的数据对比,fromkey集合中不存在keys集合中,则把这些不存在的数据放入newkey集合中 /// public void StoreDifferencesFromSet...endregion } ServiceStack 程序集里面没有方法注解,我在这里将注解添加上去,有不当之处,欢迎指正 Console.WriteLine("---Set...(intoSetId, setIds); //把fromSetId集合中的数据与withSetIds集合中的数据对比,fromSetId集合中不存在keys集合中,则把这些不存在的数据放入

    21420

    【深入C++】map和set的使用

    map: 键值对存储的映射,键唯一且自动排序。 multimap: 允许重复键的映射,键自动排序。 3. 无序容器 这些容器使用哈希表存储元素,适用于需要快速查找和插入的场景,但不保证元素顺序。...queue: 队列,先进先出(FIFO)结构,通常使用deque或list实现。 priority_queue: 优先队列,元素按优先级排序,通常使用vector和heap算法实现。 5....2.迭代器 map的迭代器和set的迭代器稍有区别,但不多。...和set的用法大差不差。...掌握map和set的使用,不仅能够提升我们的编程效率,还能帮助我们编写出更为高效和可靠的代码。在实际开发中,合理地选择和使用这些容器,可以显著优化程序的性能和可维护性。

    14510

    初识C++ · map和set的使用

    ,crbegin也有,使用方面上和vector那些没有什么差别: int main() { vector v1({ 1,2,3,4 }); set s1; set s2...set是key模型,也就意味着我们想要修改里面的值的时候,就会报错: 有关capacity部分 无非就是判断是否为空,大小多少,最大的空间开辟都到多少,使用和序列式容器一样的,就不多介绍了。...对于lower_bound upper_bound 的使用,它们是经常在一起使用的,它们形成的是一个左闭右开的区间,和迭代器的使用保持一致,左闭右开: int main() { std::set的操作可以有查找,修改,插入 + 修改,毕竟如果key有的话也不会插入,就相当于修改了。 []的使用是很厉害的,可能有人会觉得和vector的使用有点像,但差了很多,自行体会哈哈哈。...总结: set + map的使用可以当去重,因为插入多个数据的时候,不会插入多个数据,也可以用来排序,也可以用来求差集,交集,这点都是因为set 和 map没有数据的冗余。 感谢阅读!

    6810
    领券