Is there a way to copy a TreeSet
? That is, is it possible to go
Set <Item> itemList; Set <Item> tempList; tempList = itemList;
or do you have to physically iterate through the sets and copy them one by one?
Use the clone() method to copy all elements from one set to another.
The copy() method of java. util. Collections class is used to copy all of the elements from one list into another. After the operation, the index of each copied element in the destination list will be identical to its index in the source list.
Another way to do this is to use the copy constructor:
Collection<E> oldSet = ... TreeSet<E> newSet = new TreeSet<E>(oldSet);
Or create an empty set and add the elements:
Collection<E> oldSet = ... TreeSet<E> newSet = new TreeSet<E>(); newSet.addAll(oldSet);
Unlike clone
these allow you to use a different set class, a different comparator, or even populate from some other (non-set) collection type.
Note that the result of copying a Set
is a new Set
containing references to the objects that are elements if the original Set
. The element objects themselves are not copied or cloned. This conforms with the way that the Java Collection
APIs are designed to work: they don't copy the element objects.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With