3.31日学习总结(集合方面的学习)

1.今天学习了两个小时java,在力扣上刷了一道题目。

java 方面主要是学习了集合方面的一些知识。

1.首先是两张总结图

 

这是两个java集合的两个大类。第一个是单列集合,一个是双列集合。

 

这上面就是两个集合的存储元素方式。

我是先学习了 Collection接口相关的常用方法。

如下面这些列出来的

相关的操作代码就是下面的这些

 

 这些就是这些方法的基本操作代码。

还有就是对于迭代器的一些学习,其实迭代器就是一种类似于指针的东西,只不过在java中它拥有更多的功能。

例如下面这些

 这就是迭代器的一些比较重要的方法。

具体的代码就是下面这些

先定义一个 迭代器,然后使用它的hasNext方法和next方法,这样就可以做到循环的目的。

还有就是集合增强for,这个其实就是简化的迭代器,使用起来要方便一些,但是他的底层逻辑还是迭代器。

相关的代码就是下面这些

 这就是今天学习的java知识。

2.题目方面

这就是题目。

具体做法就是记录下其中一个字符串中的每个元素的数量,然后在遍历另一个字符串时看是否所有的元素数量都是小于这个字符串的。

代码如下

class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        if (ransomNote.size() > magazine.size()) {
            return false;
        }
        vector<int > s(30);
        for (auto & c : magazine) {
            s[c-'a']++;
        }
        for (auto & c : ransomNote) {
            s[c-'a']--;
            if (s[c-'a'] < 0) {
                return false;
            }
        }
        return true;
    }
};

 好了今天的学习总结就到这里为止。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值