import
java.util.*;
class
LinkedHashSetImplementation<E> {
private
LinkedHashSet<E> set;
public
LinkedHashSetImplementation()
{
set =
new
LinkedHashSet<E>();
}
public
LinkedHashSetImplementation(
Collection<?
extends
E> set1)
{
set =
new
LinkedHashSet<E>(set1);
}
public
int
size() {
return
set.size(); }
public
boolean
isEmpty() {
return
set.isEmpty(); }
public
boolean
contains(Object val)
{
return
set.contains(val);
}
public
Iterator<E> iterator() {
return
set.iterator(); }
public
Object[] toArray() {
return
set.toArray(); }
public
<T> T[] toArray(T[] a) {
return
set.toArray(a); }
public
boolean
add(E ele) {
return
set.add(ele); }
public
boolean
remove(Object ele)
{
return
set.remove(ele);
}
public
boolean
containsAll(Collection<?> c)
{
return
set.containsAll(c);
}
public
boolean
addAll(Collection<?
extends
E> col)
{
return
set.addAll(col);
}
public
boolean
retainAll(Collection<?> col)
{
return
set.retainAll(col);
}
public
boolean
removeAll(Collection<?> col)
{
return
set.retainAll(col);
}
public
void
clear() { set.clear(); }
public
boolean
equals(Object obj)
{
return
set.equals(obj);
}
public
int
hashCode() {
return
set.hashCode(); }
}
public
class
GFG {
public
static
void
main(String[] arg)
{
LinkedHashSetImplementation<Integer> set
=
new
LinkedHashSetImplementation<>();
set.add(
10
);
set.add(
20
);
set.add(
30
);
set.add(
40
);
set.add(
50
);
set.add(
30
);
set.add(
40
);
System.out.println(
"Size of the LinkedHashset: "
+ set.size());
System.out.println(
"The LinkedHashSet elements are:"
);
Iterator it = set.iterator();
while
(it.hasNext()) {
System.out.println(it.next());
}
System.out.println(
"The linkedHashSet is empty: "
+ set.isEmpty());
System.out.println(
"LinkedHashSet contains 60: "
+ set.contains(
60
));
System.out.println(
"LinkedHashSet contains 40: "
+ set.contains(
40
));
set.remove(
40
);
System.out.println(
"Size of the linkedHashSet:"
+ set.size());
set.clear();
System.out.println(
"Size of the set after clear:"
+ set.size());
}
}