Pegar os 7 numeros maiores de um Array?

Segue meu código, quero pegar a metade dos numeros maiores do array exemplo: 8,9,10,11,12,13,14

:slight_smile:

import java.util.ArrayList;

public class testecores {	
    public static void main(String[] args) {
		
		
		
		ArrayList<String> cores = new ArrayList();
				
		cores.add("1");
		cores.add("2");
		cores.add("3");
		cores.add("4");
		cores.add("5");
		cores.add("6");
		cores.add("7");
		cores.add("8");
		cores.add("9");
		cores.add("10");
		cores.add("11");
		cores.add("12");
		cores.add("13");
		cores.add("14");
		
		
		int maior=0;
		
		for (int i = 0; i < 15; i++) {
			
			
			if(maior<i){
				maior= i;
			}
		}
		System.out.println(maior);
	}
}

DEMO

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.ArrayList;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		ArrayList<String> cores = new ArrayList();
				
		cores.add("1");
		cores.add("2");
		cores.add("3");
		cores.add("4");
		cores.add("5");
		cores.add("6");
		cores.add("7");
		cores.add("8");
		cores.add("9");
		cores.add("10");
		cores.add("11");
		cores.add("12");
		cores.add("13");
		cores.add("14");
		cores.add("15");
		cores.add("16");
		
		int maior=0;
		int size = cores.size();
		int metade = (size / 2);
		for (int i = metade; i < size; i++) 
		{
			System.out.println(cores.get(i));
		}
	}
}

DEMO

:slight_smile:

Obrigado

E no caso se for assim:

ArrayList<String> cores = new ArrayList();

cores.add("1");
cores.add("2");
cores.add("5");
cores.add("4");
cores.add("14");
cores.add("6");
cores.add("7");
cores.add("8");
cores.add("9");
cores.add("10");
cores.add("13");
cores.add("12");
cores.add("3");
cores.add("11");

Ou seja, array desordenado?

Exibir 8
9
10
11
12
13
14

Use Collection.sort:

DEMO

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.ArrayList;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		ArrayList<String> cores = new ArrayList();
				
		cores.add("1");
		cores.add("2");
		cores.add("3");
		cores.add("4");
		cores.add("5");
		cores.add("6");
		cores.add("7");
		cores.add("8");
		cores.add("14");
		cores.add("13");
		cores.add("9");
		cores.add("10");
		cores.add("12");
		cores.add("11");
		cores.add("16");
		cores.add("15");
		
		
		Collections.sort(cores, new Comparator<String>(){
                     public int compare(String a, String b)
                     {
                     	if (Integer.parseInt(a) < Integer.parseInt(b))
                     	{
                     		return -1;
                     	} 
                     	else if (Integer.parseInt(a) > Integer.parseInt(b))
                     	{
                     		return 1;
                     	}
                     	return 0;
                     }});

		
		int maior=0;
		int size = cores.size();
		int metade = (size / 2);
		for (int i = metade; i < size; i++) 
		{
			System.out.println(cores.get(i));
		}
	}
}

DEMO

Dica: estudar, estudar e estudar, isso são coisas muitos simples de implementar e uma simples pesquisa você conseguiria resolver!

Bah, obrigado mesmo, estou tão atucanado estudando em manipulação de imagem, que as coisas mais fáceis ficam dificíl. :frowning: