Java中Set接口使用方法详解
Set接口是Java集合框架中提供的一种数据结构,它的特点是不允许有重复的元素,同时也没有顺序关系。在Java中,我们可以通过HashSet、TreeSet、LinkedHashSet等类来实现Set接口。
HashSet
HashSet基于散列表实现,具有快速的添加、删除和查找元素的能力。
创建HashSet
创建一个空的HashSet对象,可以通过如下代码实现:
Set<String> hashSet = new HashSet<>();
添加元素
使用add()方法向HashSet中增加元素,如果HashSet中已经存在该元素,则不会重复添加。
hashSet.add("java");
hashSet.add("spring");
hashSet.add("mybatis");
删除元素
使用remove()方法从HashSet中删除元素。
hashSet.remove("java");
遍历元素
可以使用增强for循环或迭代器来遍历HashSet中的所有元素。
// 使用增强for循环遍历HashSet中的元素
for(String str : hashSet){
System.out.println(str);
}
// 使用迭代器遍历HashSet中的元素
Iterator<String> iterator = hashSet.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
TreeSet
TreeSet是基于红黑树实现的,可以实现有序的集合。
创建TreeSet
创建一个空的TreeSet对象,可以通过如下代码实现:
Set<String> treeSet = new TreeSet<>();
添加元素
使用add()方法向TreeSet中增加元素,元素将按照自然排序进行排序。如果TreeSet中已经存在该元素,则不会重复添加。
treeSet.add("java");
treeSet.add("spring");
treeSet.add("mybatis");
删除元素
使用remove()方法从TreeSet中删除元素。
treeSet.remove("java");
遍历元素
可以使用增强for循环或迭代器来遍历TreeSet中的所有元素。
// 使用增强for循环遍历TreeSet中的元素
for(String str : treeSet){
System.out.println(str);
}
// 使用迭代器遍历TreeSet中的元素
Iterator<String> iterator = treeSet.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
LinkedHashSet
LinkedHashSet是HashSet的子类,它可以维护元素添加的顺序。
创建LinkedHashSet
创建一个空的LinkedHashSet对象,可以通过如下代码实现:
Set<String> linkedHashSet = new LinkedHashSet<>();
添加元素
使用add()方法向LinkedHashSet中增加元素,元素将按照添加顺序进行排序。如果LinkedHashSet中已经存在该元素,则不会重复添加。
linkedHashSet.add("java");
linkedHashSet.add("spring");
linkedHashSet.add("mybatis");
删除元素
使用remove()方法从LinkedHashSet中删除元素。
linkedHashSet.remove("java");
遍历元素
可以使用增强for循环或迭代器来遍历LinkedHashSet中的所有元素。
// 使用增强for循环遍历LinkedHashSet中的元素
for(String str : linkedHashSet){
System.out.println(str);
}
// 使用迭代器遍历LinkedHashSet中的元素
Iterator<String> iterator = linkedHashSet.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
示例说明
比如我们有一个需求:从一个字符串中取出不重复的单词,这时我们可以使用HashSet来实现:
String str = "Hello Java, Hello World!";
String[] words = str.split(" ");
Set<String> set = new HashSet<>();
for(String word : words){
set.add(word);
}
//输出不重复的单词
System.out.println(set);
输出结果为:[Java,, World!, Hello]
另外,我们还可以使用TreeSet来对单词进行排序:
String str = "Hello Java, Hello World!";
String[] words = str.split(" ");
Set<String> set = new TreeSet<>();
for(String word : words){
set.add(word);
}
//输出不重复的单词并按照字典序排序
System.out.println(set);
输出结果为:[, Hello, Java,, World!]
以上就是Java中Set接口使用方法的详细攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中set接口使用方法详解 - Python技术站