当前位置: 首页 > wzjs >正文

福州企业做网站南阳网站seo

福州企业做网站,南阳网站seo,高端定制网站建设,在哪做网站Hashset集合 HashSet是一种在多种编程语言里都存在的数据结构,它主要用于存储唯一元素,也就是集合里不会有重复的元素。在 Java 里,HashSet是Set接口的一个实现类,它基于哈希表来存储元素。 HashSet常用方法 ①:add…

Hashset集合

HashSet是一种在多种编程语言里都存在的数据结构,它主要用于存储唯一元素,也就是集合里不会有重复的元素。在 Java 里,HashSet是Set接口的一个实现类,它基于哈希表来存储元素。

HashSet常用方法

①:add(Object o):向Set集合中添加元素,不允许添加重复数据。

②:size():返回Set集合中的元素个数

package set;import java.util.HashSet;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");System.out.println(set);System.out.println(set.size());}}

 注意:不会按照保存的顺序存储数据(顺序不定),遍历时不能保证下次结果和上次相同。且向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap的 key不允许,所以HashSet添加的元素也不允许重复。

③.remove(Object o): 删除Set集合中的obj对象,删除成功返回true,否则返回false。

④.isEmpty():如果Set不包含元素,则返回 true。

package set;import java.util.HashSet;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");System.out.println(set.isEmpty());System.out.println(set.remove("111"));System.out.println(set);}}

 ⑤.clear(): 移除此Set中的所有元素。

package set;import java.util.HashSet;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");System.out.println(set);set.clear();System.out.println(set);}}

 ⑥.iterator():返回在此Set中的元素上进行迭代的迭代器。

package set;import java.util.HashSet;
import java.util.Iterator;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");Iterator<String> iterator=set.iterator();while(iterator.hasNext()) {System.out.println(iterator.next());}}
}

 ⑦.contains(Object o):判断集合中是否包含obj元素。

package set;import java.util.HashSet;
import java.util.Iterator;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");System.out.println(set.contains("111"));System.out.println(set.contains("222"));}
}

 ⑧:加强for循环遍历Set集合:

package set;import java.util.HashSet;
import java.util.Iterator;public class settest {public static void main(String[] args) {HashSet<String> set = new HashSet<String>();set.add("abc");set.add("111");for(String i:set) {System.out.println(i);}}
}

LinkedHashSet集合 

LinkedHashSet是一种特殊的集合类,它结合了链表和哈希表的特性。在 Java 里LinkedHashSet是HashSet的一个子类,它继承了HashSet的特性,同时使用链表维护元素的插入顺序,这意味着它可以保证元素按照插入的顺序进行迭代。

LinkedHashSet的基本使用

①.创建 LinkedHashSet

  • 使用默认构造函数创建一个空的 LinkedHashSet。
  • 可以指定初始容量和负载因子。
package set;import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;public class settest {public static void main(String[] args) {// 创建一个空的 LinkedHashSetLinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();// 创建具有初始容量的 LinkedHashSetLinkedHashSet<Integer> linkedHashSetWithCapacity = new LinkedHashSet<>(10);// 创建具有初始容量和负载因子的 LinkedHashSetLinkedHashSet<Double> linkedHashSetWithLoadFactor = new LinkedHashSet<>(10, 0.75f);}
}

2. 添加元素

  • 使用 add() 方法添加元素。
  • 如果元素已存在,则不会重复添加。
        linkedHashSet.add("Apple");linkedHashSet.add("Banana");linkedHashSet.add("Cherry");linkedHashSet.add("Apple"); // 重复元素,不会添加System.out.println(linkedHashSet);

 

3. 删除元素

  • 使用 remove() 方法删除指定元素。
  • 使用 clear() 方法清空所有元素。
package set;import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;public class settest {public static void main(String[] args) {// 创建一个空的 LinkedHashSetLinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();// 创建具有初始容量的 LinkedHashSetLinkedHashSet<Integer> linkedHashSetWithCapacity = new LinkedHashSet<>(10);// 创建具有初始容量和负载因子的 LinkedHashSetLinkedHashSet<Double> linkedHashSetWithLoadFactor = new LinkedHashSet<>(10, 0.75f);linkedHashSet.add("Apple");linkedHashSet.add("Banana");linkedHashSet.add("Cherry");linkedHashSet.add("Apple"); // 重复元素,不会添加System.out.println(linkedHashSet); // 输出: [Apple, Banana, Cherry]linkedHashSet.remove("Banana");System.out.println(linkedHashSet); // 输出: [Apple, Cherry]linkedHashSet.clear();System.out.println(linkedHashSet); // 输出: []}
}

4. 检查元素是否存在

  • 使用 contains() 方法检查是否包含指定元素。
package set;import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;public class settest {public static void main(String[] args) {// 创建一个空的 LinkedHashSetLinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();// 创建具有初始容量的 LinkedHashSetLinkedHashSet<Integer> linkedHashSetWithCapacity = new LinkedHashSet<>(10);// 创建具有初始容量和负载因子的 LinkedHashSetLinkedHashSet<Double> linkedHashSetWithLoadFactor = new LinkedHashSet<>(10, 0.75f);linkedHashSet.add("Apple");linkedHashSet.add("Banana");linkedHashSet.add("Cherry");linkedHashSet.add("Apple"); // 重复元素,不会添加System.out.println(linkedHashSet); // 输出: [Apple, Banana, Cherry]linkedHashSet.remove("Banana");System.out.println(linkedHashSet); // 输出: [Apple, Cherry]
//
//        linkedHashSet.clear();
//        System.out.println(linkedHashSet); // 输出: []boolean containsApple = linkedHashSet.contains("Apple");System.out.println("Contains Apple: " + containsApple); // 输出: Contains Apple: true}
}

5. 获取大小

  • 使用 size() 方法获取集合中元素的数量。
int size = linkedHashSet.size();
System.out.println("Size: " + size); // 输出: Size: 2

6. 遍历 LinkedHashSet

  • 使用 for-each 循环遍历。
  • 使用 Iterator 遍历。
// 使用 for-each 循环遍历
for (String fruit : linkedHashSet) {System.out.println(fruit);
}// 使用 Iterator 遍历
Iterator<String> iterator = linkedHashSet.iterator();
while (iterator.hasNext()) {System.out.println(iterator.next());
}

7. 转换为数组

  • 使用 toArray() 方法将 LinkedHashSet 转换为数组。
 String[] array = linkedHashSet.toArray(new String[0]);
for (String s : array) {System.out.println(s);
}

TreeSet集合

TreeSet是一种常用的集合类,在 Java 里,TreeSet 是 Set 接口的一个具体实现类,它基于红黑树(一种自平衡的二叉搜索树)来存储元素。

TreeSet的基本使用

①.插入是按字典序排序的

public class Test {public static void main(String[] args) {TreeSet ts=new TreeSet();ts.add("agg");ts.add("abcd");ts.add("ffas");Iterator it=ts.iterator();while(it.hasNext()) {System.out.println(it.next());}}
}

②.如果插入的是自定义对象 需要让类实现 Comparable 接口并且必须要重写compareTo

class Person implements Comparable{String name;int age;Person(String name,int age){this.name=name;this.age=age;}@Overridepublic int compareTo(Object o) {Person p=(Person)o;//先对姓名字典序比较 如果相同 比较年龄if(this.name.compareTo(p.name)!=0) {return this.name.compareTo(p.name);}else{if(this.age>p.age) return 1;else if(this.age<p.age) return -1;}return 0;}}public class Test {public static void main(String args[]){TreeSet ts=new TreeSet();ts.add(new Person("agg",21));ts.add(new Person("abcd",12));ts.add(new Person("ffas",8));ts.add(new Person("agg",12));Iterator it=ts.iterator();while(it.hasNext()){Person p=(Person)it.next();System.out.println(p.name+":"+p.age);}}
}

 

HashSet、LinkedHashSet、TreeSet的使用场景

HashSet:HashSet的性能基本上比LinkedHashSet和TreeSet要好,特别是添加和查询,这也是用的最多的两个操作

LinkedHashSet:LinkedHashSet的查询稍慢一些,但是他可以维持元素的添加顺序。所以只有要求当插入顺序和取出顺序一致的时候 才使用LinkedHashSet。

TreeSet:只有在需要对元素进行排序时使用

 

http://www.dtcms.com/wzjs/350409.html

相关文章:

  • 手机网站模板在线建站日本域名注册网站
  • python用于网站开发十大免费网站推广
  • 网站织梦微信搜索seo优化
  • 广东在线网站建设谷歌搜索引擎
  • 在线教育网站平台建设的意义青岛百度seo排名
  • 南阳做网站公司电话seo技术学院
  • 怎么上网站做简易注销的步骤潍坊网站建设
  • 上海网站排名提升百度搜索引擎官网
  • 利用obs做网站直播发布友情链接
  • 天津网站开发招聘app推广渠道商
  • 做阳具到哪个网站有卖百度seo建议
  • 网络app开发网站建设价格西安做seo的公司
  • 找人做网站被骗 公安不管seo服务外包客服
  • 宁波seo排名方案优化公司长沙网站包年优化
  • 网站策划做营销推广网络营销策略优化
  • 中国b2c十大网站网络营销师主要做什么
  • 男人女人做那个网站定制网站开发
  • 免费网站软件app大全下载班级优化大师app
  • wordpress换页电商seo优化
  • 一个人能建设一个公司网站吗网站统计器
  • 怎么用wordpress做网站产品市场营销策划方案
  • 保安公司网站如何做百度帐号管家
  • 做网站微信群网站seo排名
  • 做钓鱼网站怎么赚钱专注于网站营销服务
  • 公司网站建设企划书网络营销员岗位的职责与要求
  • 有什么免费开发网站建设软件武汉seo优化分析
  • 上海网站建设极简慕枫广州seo顾问服务
  • 动漫设计软件武汉seo网站优化
  • 福州网站建设软件哪个网站是免费的
  • 网站制作建设飞沐优化大师手机版下载