Backed Collections e Métodos de Navegação

Métodos de navegação

 
 

Ilustração:

 
 

Código:

 
 

import java.util.TreeSet;

import java.util.Comparator;

 
 

class Teste {

public static void main(String[] args){

TreeSet<Integer> set1 = new TreeSet<Integer>();

set1.add(0);

set1.add(2);

set1.add(4);

set1.add(6);

set1.add(8);

set1.add(10);

 
 

find(set1);

cut(set1);                

 
 

// Comparator para classificar descendentemente os itens

Comparator<Integer> c = new Comparator<Integer>(){

public int compare(Integer a, Integer b){

return b.compareTo(a);

}

};        

 
 

TreeSet<Integer> set2 = new TreeSet<Integer>(c);

for(Integer i: set1) set2.add(i);

System.out.println();

 
 

find(set2);

cut(set2);

 
 

}

 
 

public static void find(TreeSet set){

System.out.println(set);

System.out.println(“set.floor(6)=” + set.floor(6));

System.out.println(“set.lower(6)=” + set.lower(6));

System.out.println(“set.ceiling(6)=” + set.ceiling(6));

System.out.println(“set.higher(6)=” + set.higher(6));

 
 

System.out.println();

 
 

System.out.println(“set.floor(5)=” + set.floor(5));

System.out.println(“set.lower(5)=” + set.lower(5));

System.out.println(“set.ceiling(5)=” + set.ceiling(5));

System.out.println(“set.higher(5)=” + set.higher(5));

}

 
 

public static void cut(TreeSet set){

TreeSet subset1 = (TreeSet)set.headSet(6);

System.out.println(“set.headSet(6)= ” + subset1);

 
 

TreeSet subset2 = (TreeSet)set.tailSet(6);

System.out.println(“set.tailSet(6)= ” + subset2);

}

}

 
 

 
 

Output:

[0, 2, 4, 6, 8, 10]

set.floor(6)=6

set.lower(6)=4

set.ceiling(6)=6

set.higher(6)=8

 
 

set.floor(5)=4

set.lower(5)=4

set.ceiling(5)=6

set.higher(5)=6

 
 

set.headSet(6)= [0, 2, 4]

set.tailSet(6)= [6, 8, 10]

 
 

[10, 8, 6, 4, 2, 0]

set.floor(6)=6

set.lower(6)=8

set.ceiling(6)=6

set.higher(6)=4

 
 

set.floor(5)=6

set.lower(5)=6

set.ceiling(5)=4

set.higher(5)=4

 
 

set.headSet(6)= [10, 8]

set.tailSet(6)= [6, 4, 2, 0]

 
 

Backed Collections

Ilustração

 
 

 
 

 
 

Código:

import java.util.TreeSet;

import java.util.Comparator;

 
 

class Teste {

public static void main(String[] args){

TreeSet<Integer> set1 = new TreeSet<Integer>();

set1.add(0);

set1.add(2);

set1.add(4);

set1.add(6);

set1.add(8);

set1.add(10);

 
 

cut(set1);        

 
 

TreeSet subset5 = (TreeSet)set1.subSet(4,8);

System.out.println(“set.subSet(4,8)= ” + subset5);                

 
 

TreeSet subset6 = (TreeSet)set1.subSet(4, true,8, true);

System.out.println(“set.subSet(4,true, 8, true)= ” + subset6);

 
 

TreeSet subset7 = (TreeSet)set1.subSet(4, false,8, false);

System.out.println(“set.subSet(4,false, 8, false)= ” + subset7);        

 
 

Comparator<Integer> c = new Comparator<Integer>(){

public int compare(Integer a, Integer b){

return b.compareTo(a);

}

};        

 
 

TreeSet<Integer> set2 = new TreeSet<Integer>(c);

for(Integer i: set1) set2.add(i);

System.out.println();

 
 

cut(set2);

 
 

 
 

TreeSet subset8 = (TreeSet)set2.subSet(8,4);

System.out.println(“set.subSet(8,4)= ” + subset8);                

 
 

TreeSet subset9 = (TreeSet)set2.subSet(8, true,4, true);

System.out.println(“set.subSet(8,true, 4, true)= ” + subset9);

 
 

TreeSet subset10 = (TreeSet)set2.subSet(8, false,4, false);

System.out.println(“set.subSet(8,false, 4, false)= ” + subset10);

 
 

}

 
 

 
 

public static void cut(TreeSet set){

System.out.println(set);

System.out.println();

TreeSet subset1 = (TreeSet)set.headSet(6);

System.out.println(“set.headSet(6)= ” + subset1);

 
 

TreeSet subset2 = (TreeSet)set.headSet(6, true);

System.out.println(“set.headSet(6, true)= ” + subset2);

 
 

TreeSet subset3 = (TreeSet)set.tailSet(6);

System.out.println(“set.tailSet(6)= ” + subset3);

 
 

TreeSet subset4 = (TreeSet)set.tailSet(6, false);

System.out.println(“set.tailSet(6, false)= ” + subset4);

 
 

 
 

}

}

 
 

 
 

Output:

[0, 2, 4, 6, 8, 10]

// o padrão é não incluir (false)

set.headSet(6)= [0, 2, 4]

set.headSet(6, true)= [0, 2, 4, 6]

 
 

// o padrão é incluir (true)

set.tailSet(6)= [6, 8, 10]

set.tailSet(6, false)= [8, 10]

 
 

set.subSet(4,8)= [4, 6]

set.subSet(4,true, 8, true)= [4, 6, 8]

set.subSet(4,false, 8, false)= [6]

 
 

[10, 8, 6, 4, 2, 0]

 
 

set.headSet(6)= [10, 8]

set.headSet(6, true)= [10, 8, 6]

 
 

set.tailSet(6)= [6, 4, 2, 0]

set.tailSet(6, false)= [4, 2, 0]

 
 

set.subSet(8,4)= [8, 6]

set.subSet(8,true, 4, true)= [8, 6, 4]

set.subSet(8,false, 4, false)= [6]

 
 

Esta entrada foi publicada em Arrays & Colletions com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s