小组学习周结(第五周)

知识点小计

集合

    • 集合体系结构

单列集合Collection:一次添加一个数据。

双列集合Map:一次添加一对数据。

  • list系列集合:添加的元素是有序(指添加时的顺序和取出时的顺序是相同的),可重复,有索引。

  • Collection是一个接口,我们不能直接创建它的对象,所以在学习它的方法时,只能创建它实现类的对象。

  • 添加元素时调用add方法:

  • 如果要往List系列集合中添加元素,方法永远返回true,因为List系列集合允许元素重复

  • 如果要往Set系列集合中添加元素,若当前添加元素不存在,方法返回true,表示添加成功;若当前添加元素存在,方法返回false,表示添加失败,因为Set系列集合的元素不允许重复。

  • 因为Collection中定义的是共性的方法,所以调用Collection中的删除方法时不能通过索引进行删除,只能通过元素的对象进行删除。

  • 删除方法会有一个布尔类型的返回值,删除成功返回true,删除失败返回false。

  • 如果要删除的元素不存在,就会删除失败。

  • Collection接口中的contains方法底层是依赖equals方法进行判断是否存在的,所以,如果集合中存储的是自定义对象,也想用contains方法来判断是否包含,要在javabean类中重写equals方法,如果没有重写equals方法,那么默认使用的是Object类中的equals方法进行判断,但是Object类中的equals方法,是依赖地址值进行判断。

  • 重写之后的equals方法,比较的就不是地址值了,而是属性值。

  • Collection的遍历方式有三种,1是迭代器遍历,2是增强for遍历,3是lambda表达式遍历。

  • 迭代器就好比一个箭头,默认指向集合的0索引处。

  • 迭代器的next方法的作用是,获取元素并移动指针。

  • 迭代器遍历完毕后,指针不会复位,如果想再次遍历,就需要再创建一个迭代器对象。

  • 循环中只能用一次next方法。

  • 迭代器遍历时,不能用集合的方法进行增加或者删除,但可以用迭代器里的方法进行删除,添加暂无办法。

  • List接口中的add方法在指定索引上添加元素后,原索引上的元素会依次向后移。

  • List系列集合中有两个删除元素的方法,1是直接删除元素(实际参数默认为索引),2是通过索引进行删除。

  • 在调用方法时,如果方法出现了重载,就会优先调用实参跟形参类型一致的那个方法。

  • List集合的5种遍历方式,1是迭代器遍历,2是列表迭代器遍历,3是增强for遍历,4是lambda表达式遍历,5是普通for循环。

  • 数据结构就是计算机底层存储,组织数据的方式。

  • 没有泛型的时候,我们可以给集合添加任意类型的数据。

  • 多态的弊端是不能访问子类的特有功能。

  • 如果没有给集合指定类型,会默认所有的数据类型都是Object类型,此时可以向集合中添加任意数据类型的元素,但存在弊端:在获取数据的时候,无法使用他的特有行为。

  • 当在编写一个类的时候,如果不确定类型,这个类可以定义为泛型类。

  • 泛型的通配符:?

  • ?也表示不确定的类型,但他可以进行类型的限定。

  • ?extends E: 表示可以传递E和E的所有子类类型。

  • ?extends E: 表示可以传递E和E的所有父类类型。

  • 泛型的应用场景:1.如果在定义类,方法,接口的时候,类型不确定,就可以定义泛型类,泛型方法,泛型接口;2.如果类型不确定,但是能知道以后只能传递某个继承体系中的,就可以用泛型的通配符;泛型通配符的关键点:可以限定类型的范围。

  • 简单路径的特点:不能回头。

  • HashSet底层中有一个默认长度为16,默认加载因子为0.75的数组,数组名叫table,加载因子是HashSet的扩容时机,当16*0.75=12时,数组会扩大两倍。

  • 当table中某条链表长度大于8而且数组长度大于等于64时,该链表会转化为红黑树。

  • TreeSet底层是红黑树。

  • Comparable方法中的this表示当前要添加的元素,o表示已经在红黑树中存在的元素。

  • 直接打印TreeSet集合中的字符串元素,默认采用默认方式进行排序。

  • 如果对TreeSet集合中的元素进行排序时,第一种排序方式跟第二种排序方式同时存在,则会按照第二种排序方式进行排序。


  • Map接口中put方法可以用来添加和覆盖。

  • 在添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中,此时返回值为null;在添加数据的时候,如果键存在,就会把原有的键值对对象覆盖,会把被覆盖的值进行返回。

  • Map中有三种遍历方式,1键找值,通过KeySet方法,获取所有的键,把这些键放到一个单列集合当中,再遍历单列集合,得到每一个键,再通过get方法,利用map集合中的键获取对应的值,2键值对,通过键值对对象进行遍历,用entryset方法获取所有的键值对对象,返回一个set集合,再遍历这个set集合去得到里面的每一个键值对对象,最后再调用get方法获取键和值,3lambda表达式。

  • Map接口中put方法的覆盖功能使得在添加数据的时,哈希值相同,如果键的属性值也相同,则后添加的数据会覆盖前添加的数据。

  • HashMap的键位值如果存储的是自定义对象,需要重写hashCoad和equals方法。

  • 统计有计数器思想

  • 新的统计思想:利用map集合进行统计,如果题目中没有要求对结果进行排序,默认使用HashMap;如果题目中要求对结果进行排序,使用HashMap,键:表示要统计的内容,值:表示次数。

  • 可变参数的格式:属性类型...名字,方法形参的个数是可以发生变化的。

  • 可变参数的细节:1.在方法的形参中最多只能写一个可变参数,2.在方法当中,除可变参数之外,还有其他的形参,可变参数要写在最后。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习了关于cache数据库的相关知识,以下是我的学习周结: 1. 缓存数据库的概念和作用:缓存数据库是一种用于高速读取、写入和数据处理的数据库,它可以大幅提高应用程序的性能和响应速度。缓存数据库通常会将热点数据存储在内存中,从而快速响应应用程序的请求。 2. 缓存数据库的分类:缓存数据库根据数据存储方式的不同分为本地缓存和分布式缓存。本地缓存是指将数据存储在应用程序所在的服务器上,而分布式缓存则是将数据存储在多个服务器上,以实现负载均衡和高可用性。 3. 缓存数据库的常见技术:常见的缓存数据库技术包括Memcached、Redis、Ehcache等。这些技术在不同场景下具有不同的优势和适用性。 4. 缓存数据库的应用场景:缓存数据库通常用于需要频繁读取数据、读写比例不平衡或需要快速响应的应用程序中,如电商网站、社交网络、游戏等。 5. 缓存数据库的设计和优化:缓存数据库的设计和优化需要考虑数据访问模式、缓存失效策略、缓存容量和数据一致性等因素,以实现高效的缓存处理。 通过本学习,我对缓存数据库的概念和应用有了更深入的了解,并且了解了常见的缓存数据库技术和应用场景。在未来的学习和实践中,我将更加深入地掌握缓存数据库的设计和优化技术,为应用程序的性能提升做出更大的贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值