java后端学习DAY14

1.Java基础

        (1)hashmap

                底层数据结构是数组+单向链表

                -》put方法:有返回值,返回的是原来存在的值,没有就返回null,使用它会新增数据,有就返回原来存在的值,并用新数据覆盖旧数据

                -》replace方法:原来没有值就不修改,有数据才将其修改

                -》key-value:一个key对应一个value,通过key来查找value

        (2)hashtable与hashmap区别

                -》继承父类不同

                -》底层结构容量不同,默认hashmap(16),hashtable(11)

                -》hashmap的k、v都可以为null,但是hashtable不可以

                -》hashmap数据定位采用hash算法,hashtable采用hashcode

                -》hashmap性能更好

        (3)迭代器

                用于迭代数据

                hashmap一旦循环遍历,若要修改数据,要采用迭代器

        (4)集合的索引范围

                对于集合元素为数组的,索引范围为0~数组长度-1

                对于集合元素为List的,索引范围为0~数据长度-1

        (5)数据流

                数据流转的通道不止一个,此外每个管道也不一样,有粗有细

2.算法

        (1)移除元素

                暴力方法:

                        第一个for循环(i)找到要删除的元素

                        第二个for循环(j)更新数据,把i后面的数据全部往前移动

                        更新数据后,要把数据长度size--,同时也要将i指针--

                双指针法(快慢指针):

                        2个指针,1个for

                        fast:寻找新数组的元素

                        slow:指向更新数组下标的位置

                        if(nums【fast】!=val){

                                nums【slow++】=nums【fast】;

                        }

        (2)删除有序数组的重复项

               双指针法:

                        fast,slow从索引1开始

                        比较当前fast和上一个fast(fast-1)的值

                        if(nums【fast】!=nums【fast-1】){

                                nums【slow++】=nums【fast】;

                        }

        (3)移动元素0到数组的末尾

                暴力方法:

                        新建一个大小一样的数组arr

                        把原数组nums的非零元素存到arr中

                        再把arr的元素复制到原数组nums

  • 48
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值