Movatterモバイル変換


[0]ホーム

URL:


Menu
×
See More 
Sign In
+1 Get Certified Upgrade For Teachers Spaces Get Certified Upgrade For Teachers Spaces
   ❮     
     ❯   

Java Tutorial

Java HOMEJava IntroJava Get StartedJava SyntaxJava OutputJava CommentsJava VariablesJava Data TypesJava Type CastingJava OperatorsJava StringsJava MathJava BooleansJava If...ElseJava SwitchJava While LoopJava For LoopJava Break/ContinueJava Arrays

Java Methods

Java MethodsJava Method ParametersJava Method OverloadingJava ScopeJava Recursion

Java Classes

Java OOPJava Classes/ObjectsJava Class AttributesJava Class MethodsJava ConstructorsJava this KeywordJava ModifiersJava EncapsulationJava Packages / APIJava InheritanceJava PolymorphismJava super KeywordJava Inner ClassesJava AbstractionJava InterfaceJava AnonymousJava EnumJava User InputJava Date

Java Errors

Java ErrorsJava DebuggingJava ExceptionsJava Multiple ExceptionsJava try-with-resources

Java File Handling

Java FilesJava Create FilesJava Write FilesJava Read FilesJava Delete Files

Java I/O Streams

Java I/O StreamsJava FileInputStreamJava FileOutputStreamJava BufferedReaderJava BufferedWriter

Java Data Structures

Java Data StructuresJava CollectionsJava ListJava ArrayListJava LinkedListJava List SortingJava SetJava HashSetJava TreeSetJava LinkedHashSetJava MapJava HashMapJava TreeMapJava LinkedHashMapJava IteratorJava Algorithms

Java Advanced

Java Wrapper ClassesJava GenericsJava AnnotationsJava RegExJava ThreadsJava LambdaJava Advanced Sorting

Java Projects

Java Projects

Java How To's

Java How Tos

Java Reference

Java ReferenceJava KeywordsJava String MethodsJava Math MethodsJava Output MethodsJava Arrays MethodsJava ArrayList MethodsJava LinkedList MethodsJava HashMap MethodsJava Scanner MethodsJava File MethodsJava FileInputStreamJava FileOutputStreamJava BufferedReaderJava BufferedWriterJava Iterator MethodsJava Collections MethodsJava System MethodsJava Errors & Exceptions

Java Examples

Java ExamplesJava CompilerJava ExercisesJava QuizJava ServerJava SyllabusJava Study PlanJava Interview Q&AJava Certificate


JavaTreeSet


Java TreeSet

ATreeSet is a collection that stores unique elementsin sorted order.

It is part of thejava.util package and implements theSet interface.

Tip: UnlikeHashSet, which has no order,TreeSet keeps its elements sorted automatically.


Create a TreeSet

Example

Create aTreeSet object calledcars that will store strings:

import java.util.TreeSet; // Import the TreeSet classTreeSet<String> cars = new TreeSet<>();

Now you can use methods likeadd(),contains(), andremove() to manage your sorted set of elements.


Add Elements

To add elements to aTreeSet, use theadd() method:

Example

import java.util.TreeSet;public class Main {  public static void main(String[] args) {    TreeSet<String> cars = new TreeSet<>();    cars.add("Volvo");    cars.add("BMW");    cars.add("Ford");    cars.add("BMW");  // Duplicate    cars.add("Mazda");    System.out.println(cars);  }}

Try it Yourself »

Output: The elements will be sorted automatically (e.g., [BMW, Ford, Mazda, Volvo]).

Note: Duplicates like "BMW" will only appear once.


Check if an Element Exists

Usecontains() to check if an element exists:

Example

cars.contains("Mazda");

Try it Yourself »


Remove an Element

Useremove() to remove an element:

Example

cars.remove("Volvo");

Try it Yourself »


Remove All Elements

Useclear() to remove all elements:

Example

cars.clear();

Try it Yourself »


TreeSet Size

Usesize() to count how many unique elements are in the set:

Example

cars.size();

Try it Yourself »

Note: Duplicate values are not counted - only unique elements are included in the size.


Loop Through a TreeSet

Loop through the elements of aTreeSet with afor-each loop:

Example

TreeSet<String> cars = new TreeSet<>();// add elements...for (String i : cars) {  System.out.println(i);}

Try it Yourself »


Using TreeSet with Numbers

TreeSet also works with numbers and sorts them from smallest to largest:

Example

import java.util.TreeSet;public class Main {  public static void main(String[] args) {    TreeSet<Integer> numbers = new TreeSet<>();    numbers.add(40);    numbers.add(10);    numbers.add(30);    numbers.add(20);    for (int n : numbers) {      System.out.println(n);    }  }}

Try it Yourself »

Output: The numbers will be printed in sorted order (10, 20, 30, 40).


HashSet vs TreeSet

FeatureHashSetTreeSet
OrderNo guaranteed orderSorted (natural order)
DuplicatesNot allowedNot allowed
PerformanceFaster (no sorting)Slower (due to sorting)

Tip: UseHashSet when you care about speed, andTreeSet when you need sorted elements.


The var Keyword

From Java 10, you can use thevar keyword to declare aTreeSet variable without writing the type twice. The compiler figures out the type from the value you assign.

This makes code shorter,but many developers still use the full type for clarity. Sincevar is valid Java, you may see it in other code, so it's good to know that it exists:

Example

// Without varTreeSet<String> cars = new TreeSet<String>();// With varvar cars = new TreeSet<String>();

Try it Yourself »


The Set Interface

Note: Sometimes you will see bothSet andTreeSet in Java code, like this:

import java.util.Set;import java.util.TreeSet;Set<String> cars = new TreeSet<>();

Try it Yourself »

This means the variable (cars) is declared as aSet (the interface), but it stores aTreeSet object (the actual set). SinceTreeSet implements theSet interface, this is possible.

It works the same way, but some developers prefer this style because it gives them more flexibility to change the type later.




×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted ourterms of use,cookies andprivacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved.W3Schools is Powered by W3.CSS.


[8]ページ先頭

©2009-2025 Movatter.jp