admin管理员组文章数量:1794759
HashSet
集合(Set)
HashSet
简介:本文旨在用最简洁的篇幅,快速熟悉使用HashMap。
声明方式
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
// 方式一 子类实现方式创建
Set<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(3);
set.add(1);
set.add(2);
set.add(4);
set.add(100);
set.add(-100);
set.add(2);
System.out.println(set);
// 这个结果无序 且去重
/*[1, 2, 3, -100, 4, 100]*/
// 方式二 同一等级类的方式创建
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(3);
set.add(1);
set.add(2);
set.add(4);
set.add(100);
set.add(-100);
set.add(2);
System.out.println(set);
// 这个结果无序 且去重
/*[1, 2, 3, -100, 4, 100]*/
}
常用方法
boolean add()添加字符 可以通过这个方法来判断一个字符是否在哈希表中存在
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
// 第一次添加成功 第二次添加失败
System.out.println(set.add(1));
/*true*/
System.out.println(set.add(1));
/*false*/
}
void clear() 清空集合
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set);
/*[1, 2, 3, 4]*/
set.clear();
System.out.println(set);
/*[]*/
}
Object clone 克隆函数 浅拷贝
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set);
/*[1, 2, 3, 4]*/
// 克隆的时候要注意 就是需要 加上对应的强制转换
HashSet<Integer> set2 = (HashSet<Integer>)set.clone();
System.out.println(set2);
/*[1, 2, 3, 4]*/
}
boolean isEmpty() add(),isEmpty(),size,(),iterator(),clear(),clone() 这几个函数基本是所有容器都有的而且作用还是一样的
后面就不会一直写了
boolean contains(Object o) 判断是否包含这个元素
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set.contains(1));
/*true*/
}
boolean remove(Object o) 删除指定元素 返回是否删除成功 也可以用来判断元素是否在集合里面
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set.remove(1));
/*true*/
System.out.println(set);
/*[2, 3, 4]*/
}
遍历方式
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
// 方法一
for(Integer it : set)
{
System.out.print(it + " ");
}
/*1 2 3 4 */
System.out.println();
// 方法二
Iterator<Integer> it = set.iterator();
while(it.hasNext())
{
System.out.print(it.next() + " ");
}
/*1 2 3 4 */
}
排序
HashSet不能直接进行排序 需要借助其他容易来实现 这里引出JavaSTL 中的一个很厉害的特性 容器之间的相互转换
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
set.add(-1);
set.add(56464);
set.add(3);
set.add(2);
set.add(4);
set.add(0);
System.out.println(set);
/*[-1, 56464, 0, 2, 3, 4]*/
System.out.println();
// 转换成List类型之后排序
List<Integer> list = new ArrayList<Integer>(set);
Collections.sort(list);
System.out.println(list);
/*[-1, 0, 2, 3, 4, 56464]*/
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-10-15,如有侵权请联系 cloudcommunity@tencent 删除排序addhashsetintegerset本文标签: HashSet
版权声明:本文标题:HashSet 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1752987311a1683979.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论