小编doz*_*zer的帖子

将数据作为键存储在具有空/空值的HashMap中是一个好主意吗?

我最初写了一个ArrayList并存储了唯一值(用户名,即Strings).我后来需要使用它ArrayList来搜索用户是否存在.这是O(n)为了搜索.

我的技术负责人希望我将其更改为a HashMap并将用户名存储为数组中的键,并将值存储为空Strings.

所以,在Java中 -

hashmap.put("johndoe","");
Run Code Online (Sandbox Code Playgroud)

我可以通过运行来查看此用户是否存在 -

hashmap.containsKey("johndoe"); 
Run Code Online (Sandbox Code Playgroud)

这是O(1)对的?

我的主管说这是一种更有效的方法来实现这一点,这对我来说很有意义,但是将hash/empty作为值放在hashmap中并将其中的元素作为键存放似乎有点过时了.

我的问题是,这是一个好方法吗?效率节拍ArrayList#contains或一般的阵列搜索.有用.我担心的是,我没有看到其他人在搜索后这样做.我可能在某个地方错过了一个明显的问题,但我看不到它.

java arrays performance hashmap asymptotic-complexity

63
推荐指数
2
解决办法
4883
查看次数

HTML5网络存储(localStorage)是否比cookie更具安全优势?

我正在寻找替代cookie的方法,我在这里读到了关于HTML5网络存储的内容,我在这里阅读了一个更简单的解释,但我仍然没有完全了解它是如何工作的.有人可以提供一些稍微非技术性的解释,以便我可以理解技术方面的内容.它说关于浏览器必须存储键值对,但存储的位置和方式以及为什么其他站点无法访问?为什么它不被视为另一种形式的cookie?

  1. 我正在寻找一种全面而完整的cookie替代品; 如果我的组织想要将其所有网站替换为使用cookie来代替网络存储,那么我们可以轻松地对该要求说"是"吗?我们假设只使用了最新的浏览器.

  2. 与Cookie相比,网络存储如何以及以何种方式增强安全性?它是否有可能以其他方式危及安全性?有没有任何真实生活经历可以分享利弊的人?

cookies session-storage local-storage

8
推荐指数
1
解决办法
5622
查看次数