"자바 NavigableSet"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
; 기존 sortedset 에서 몇가지 기능이 추가됨
; 기존 sortedset 에서 몇가지 기능이 추가됨
* 추가 기능 확인
* 추가 기능 확인 ( descending )
<syntaxhighlight lang='java' run>
<syntaxhighlight lang='java' run>
import java.util.SortedSet;
import java.util.NavigableSet;
import java.util.TreeSet;
import java.util.TreeSet;
public class NavigableSetDemo
{
    public static void main(String[] args)
    {
        NavigableSet<Integer> ns = new TreeSet<>();
        ns.add(0);
        ns.add(2);
        ns.add(4);
        ns.add(6);
        ns.add(1);
        ns.add(3);
        ns.add(5);
        System.out.println("ns: " + ns); // sorted
        NavigableSet<Integer> reverseNs = ns.descendingSet();
        System.out.println("reverseNs: " + reverseNs); // reverse sorted
    }
}
</syntaxhighlight>
* 추가 기능 확인 ( 근접한 값 찾기 higher, lower, floor, ceiling )
<syntaxhighlight lang='java' run>
import java.util.NavigableSet;
import java.util.NavigableSet;
import java.util.Array;
import java.util.TreeSet;
class SortedSetExample{
 
public class NavigableSetDemo
{
     public static void main(String[] args)
     public static void main(String[] args)
     {
     {
        NavigableSet<Integer> ns = new TreeSet<>();
NavigableSet<String> animalSet = new TreeSet<>(Arrays.asList("Dog", "Cat", "Tiger", "Lion", "Elephant"));
        ns.add(0);
Set<String> revAnimalSet = new TreeSet<>(Collections.reverseOrder());
        ns.add(1);
revSet.addAll(animalSet);
        ns.add(2);
        ns.add(3);
        ns.add(4);
        ns.add(5);
        ns.add(6);


for (String animal : revAnimalSet) {
System.out.println(animal);
        NavigableSet<Integer> threeOrMore = ns.tailSet(3, true);
}
        System.out.println("3 or  more:  " + threeOrMore);
        System.out.println("lower(3): " + ns.lower(3));
        System.out.println("floor(3): " + ns.floor(3));
        System.out.println("higher(3): " + ns.higher(3));
        System.out.println("ceiling(3): " + ns.ceiling(3));


for (Iterator<String> iter = animalSet.descendingIterator(); iter.hasNext(); ) {
    }
System.out.println(iter.next());
}
}
</syntaxhighlight>
* 추가된 기능 ( pollFirst, pollLast )
<syntaxhighlight lang='java' run>
import java.util.NavigableSet;
import java.util.TreeSet;
public class NavigableSetDemo
{
    public static void main(String[] args)
    {
        NavigableSet<Integer> ns = new TreeSet<>();
        ns.add(0);
        ns.add(1);
        ns.add(2);
        ns.add(3);
        ns.add(4);
        ns.add(5);
        ns.add(6);


NavigableSet<String> revAnimalSet = animalSet.descendingSet();
System.out.println(revAnimalSet);
        System.out.println("pollFirst(): " + ns.pollFirst());
}
        System.out.println("Navigable Set:  " + ns);
        System.out.println("pollLast(): " + ns.pollLast());
        System.out.println("Navigable Set:  " + ns);
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("pollLast(): " + ns.pollLast());
    }
}
}
</syntaxhighlight>
</syntaxhighlight>
[[분류: 자바 Collection]]

2021년 10월 18일 (월) 22:13 기준 최신판

개요[ | ]

기존 sortedset 에서 몇가지 기능이 추가됨
  • 추가 기능 확인 ( descending )
import java.util.NavigableSet;
import java.util.TreeSet;
 
public class NavigableSetDemo
{
    public static void main(String[] args)
    {
        NavigableSet<Integer> ns = new TreeSet<>();
        ns.add(0);
        ns.add(2);
        ns.add(4);
        ns.add(6);
        ns.add(1);
        ns.add(3);
        ns.add(5);
        System.out.println("ns: " + ns); // sorted

        NavigableSet<Integer> reverseNs = ns.descendingSet();
        System.out.println("reverseNs: " + reverseNs); // reverse sorted
    }
}
  • 추가 기능 확인 ( 근접한 값 찾기 higher, lower, floor, ceiling )
import java.util.NavigableSet;
import java.util.TreeSet;
 
public class NavigableSetDemo
{
    public static void main(String[] args)
    {
        NavigableSet<Integer> ns = new TreeSet<>();
        ns.add(0);
        ns.add(1);
        ns.add(2);
        ns.add(3);
        ns.add(4);
        ns.add(5);
        ns.add(6);

 
        NavigableSet<Integer> threeOrMore = ns.tailSet(3, true);
        System.out.println("3 or  more:  " + threeOrMore);
        System.out.println("lower(3): " + ns.lower(3));
        System.out.println("floor(3): " + ns.floor(3));
        System.out.println("higher(3): " + ns.higher(3));
        System.out.println("ceiling(3): " + ns.ceiling(3));

    }
}
  • 추가된 기능 ( pollFirst, pollLast )
import java.util.NavigableSet;
import java.util.TreeSet;
 
public class NavigableSetDemo
{
    public static void main(String[] args)
    {
        NavigableSet<Integer> ns = new TreeSet<>();
        ns.add(0);
        ns.add(1);
        ns.add(2);
        ns.add(3);
        ns.add(4);
        ns.add(5);
        ns.add(6);

 
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
 
        System.out.println("pollLast(): " + ns.pollLast());
        System.out.println("Navigable Set:  " + ns);
 
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
 
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
 
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("Navigable Set:  " + ns);
 
        System.out.println("pollFirst(): " + ns.pollFirst());
        System.out.println("pollLast(): " + ns.pollLast());
    }
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}