‫欢迎回来｡
‫上一个视频我们查了哈希表现在我有一个小挑战给你｡
‫所以请继续写一个程序, 遍历这个数组中students的每个元素.
‫学生排列并将其插入哈希表｡
‫如果哈希表中已存在具有相同ID的学生, 则跳过该学生并显示以下错误｡
‫抱歉, 已存在具有相同ID的学生｡
‫然后作为一个小提示, 您可以使用方法contains key来检查是否已经存在具有相同ID的学生｡
‫所以我们现在看到的这个程序将有上一个视频中的同一个班级的学生, 他们有一个ID, 名字是GPA,
‫还有这里的这些学生｡
‫然后我们有这个｡
‫阵的学生｡
‫所以它有五个条目, 你可以看到Louise和Dennis有相同的ID, 所以这是行不通的｡
‫但这将是挑战的起点｡
‫所以, 请继续并发布视频, 并尝试解决的挑战｡
‫好吧, 我会的
‫所以我希望你试过了｡
‫基本上, 我们需要的, 当然, 是一个哈希表｡
‫我们先这样定义哈希表｡
‫当然, 为了使它工作, 我们需要确保在我们的项目中, 在顶部有使用系统集合｡
‫现在我们已经实现了这个命名空间, 我们可以在项目中使用哈希表,
‫现在我们需要一个for each循环, 它将遍历我们的students数组, 并将该数组中的每一项添加到哈希表中,
‫以防ID还不存在｡
‫因此, 我们将在每个循环中使用它来检查它｡
‫所以它会遍历学生列表中的每个学生, 可以说是学生数组中的每个学生｡
‫然后它会检查我们正在查看的表是否还不包含某个键, 因此包含作为点ID的键｡
‫这样就可以检查这个了｡
‫基本上, 这就是我们这里的表｡
‫这个表已经有一个键了, 因为这里总是有一个哈希表的键值.
‫因此, 这包含了密钥检查, 检查密钥是否已经存在｡
‫比如说, 一个键, 如果它不存在, 它就会运行这个代码.
‫但如果是这样｡
‫存在, 则它不会运行代码｡
‫所以它会跳过这里的代码｡
‫然后我们可以转到else块并显示警告信息：Hey, this already exists.
‫我们在这里写一个控制台语句, 声明这个ID已经存在, 我们只显示ID本身和这里的ID.
‫那么, 现在我们如何将一个项目添加到表列表中呢？
‫可以这么说, 我们的哈希表？
‫我们可以直接说table. ad, 然后我们要添加什么？
‫好吧, 我们把学生加进去, 但是在哪里加呢？
‫我们将其添加为点ID, 并将其添加为自身.
‫当然, 我们也可以说, 我们添加了具有我们正在查看的特定ID的学生｡
‫好吧, 我会的
‫基本上就是这样了｡
‫这就是解决问题的办法｡
‫基本上, 每个循环都会检查ID是否已经存在, 如果存在, 则转到此处｡
‫如果它不存在, 那么它就在这里, 因为这里有一个感叹号, 我们说的是“不可以这么说”｡
‫所以我们说不包含密钥｡
‫因此, 如果它不包含密钥, 请添加它｡
‫如果它确实包含密钥, 请编写此语句｡
‫对不起, 我不知道
‫已存在具有相同id的学生｡
‫好吧, 我会的
‫让我们运行这段代码, 检查它是否真的有效, 我们可以看到添加了ID为1的学生, 添加了ID为2的学生,
‫添加了ID为6的学生, 对不起, 已经存在一个具有相同ID的学生, 即ID
‫1｡
‫这将是很好的, 我有身份证或丹尼斯有一个想法, 他说了一个想法以及｡
‫抱歉, 我拿了你的身份证｡
‫所以现在我们当然可以写一个代码, 给她分配一个不同的ID｡
‫这是你现在可以自己尝试的东西｡
‫因此, 如果该ID已经存在, 则为该学生分配一个不同的ID, 然后转到for each循环的下一次迭代｡
‫好吧, 我会的
‫所以我希望你能自己解决这个挑战, 而不需要我的解决方案的帮助｡
‫当然, 有不同的方法来得到一个解决方案｡
‫这只是其中一种方式｡
‫我希望你喜欢它, 并看到你在下一个视频｡