个性化阅读
专注于IT技术分析

Java LinkedHashSet类

Java HashSet类层次结构

Java LinkedHashSet类是set接口的Hashtable和Linked list实现。它继承了HashSet类并实现Set接口。

关于Java LinkedHashSet类的要点是:

  • Java LinkedHashSet类仅包含唯一元素, 例如HashSet。
  • Java LinkedHashSet类提供所有可选的set操作, 并允许空元素。
  • Java LinkedHashSet类未同步。
  • Java LinkedHashSet类维护插入顺序。

LinkedHashSet类的层次结构

LinkedHashSet类扩展了实现Set接口的HashSet类。 Set接口以层次结构顺序继承Collection和Iterable接口。

LinkedHashSet类声明

我们来看一下java.util.LinkedHashSet类的声明。

public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable

Java LinkedHashSet类的构造方法

建设者 描述
HashSet() 它用于构造默认的HashSet。
HashSet(Collection c) 它用于通过使用集合c的元素来初始化哈希集。
LinkedHashSet(int capacity) 它用于将链接的哈希集的容量初始化为给定的整数容量。
LinkedHashSet(int capacity, float fillRatio) 它用于根据其参数初始化哈希集的容量和填充率(也称为负载容量)。

Java LinkedHashSet示例

让我们看一下Java LinkedHashSet类的简单示例。在这里, 你会注意到元素按插入顺序进行迭代。

import java.util.*;
class LinkedHashSet1{
 public static void main(String args[]){
 //Creating HashSet and adding elements
	    LinkedHashSet<String> set=new LinkedHashSet();
			   set.add("One");  
			   set.add("Two");  
			   set.add("Three"); 
			   set.add("Four");
			   set.add("Five");
			   Iterator<String> i=set.iterator();
			   while(i.hasNext())
			   {
			   System.out.println(i.next());
			   }
 }
}
One
Two
Three
Four
Five

Java LinkedHashSet示例忽略重复的元素

import java.util.*;
class LinkedHashSet2{
 public static void main(String args[]){
  LinkedHashSet<String> al=new LinkedHashSet<String>();
  al.add("Ravi");
  al.add("Vijay");
  al.add("Ravi");
  al.add("Ajay");
  Iterator<String> itr=al.iterator();
  while(itr.hasNext()){
   System.out.println(itr.next());
  }
 }
}
Ravi
       Vijay
       Ajay

Java LinkedHashSet示例:书籍

import java.util.*;
class Book {
int id;
String name, author, publisher;
int quantity;
public Book(int id, String name, String author, String publisher, int quantity) {
	this.id = id;
	this.name = name;
	this.author = author;
	this.publisher = publisher;
	this.quantity = quantity;
}
}
public class LinkedHashSetExample {
public static void main(String[] args) {
	LinkedHashSet<Book> hs=new LinkedHashSet<Book>();
	//Creating Books
	Book b1=new Book(101, "Let us C", "Yashwant Kanetkar", "BPB", 8);
	Book b2=new Book(102, "Data Communications & Networking", "Forouzan", "Mc Graw Hill", 4);
	Book b3=new Book(103, "Operating System", "Galvin", "Wiley", 6);
	//Adding Books to hash table
	hs.add(b1);
	hs.add(b2);
	hs.add(b3);
	//Traversing hash table
	for(Book b:hs){
	System.out.println(b.id+" "+b.name+" "+b.author+" "+b.publisher+" "+b.quantity);
	}
}
}

输出:

101 Let us C Yashwant Kanetkar BPB 8
102 Data Communications & Networking Forouzan Mc Graw Hill 4
103 Operating System Galvin Wiley 6
赞(0)
未经允许不得转载:srcmini » Java LinkedHashSet类

评论 抢沙发

评论前必须登录!