Dúvida com ArrayList

Galera, seguinte, preciso fazer um programa para um Campeonato de Futebol.
Fiz o seguinte, o usuário vai digitar uma quantidade par de times que serão adicionar em um ArrayList
Depois eu tenho uso o shuffle para trocar os lugares dos times.
Agora eu preciso usar esse ArrayList pra gerar uma Tabela, por exemplo:

Se o usuário digita 4 times: Palmeiras, São Paulo, Flamengo, Vasco
Depois do Shuffle: São Paulo, Flamengo, Vasco Palmeiras
e depois preciso de algo assim:

São Paulo x Flamengo
Vasco x Palmeiras

pra poder recolher resultado dos jogos, agradeço dicas e ideias.

Fiz rapidinho, ve se funciona

[code]import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class CampoDeFutebol {

public static void main(String[] args) {
	List<String> listtimes = new ArrayList<String>(); //declarando a lista de times
	Scanner scn = new Scanner(System.in); //declarando o scanner
	int numerodetimes = 1; //iniciando com um número impar para entrar na condição abaixo:

	while (numerodetimes % 2 != 0) { //repita até que o número digitado seja par
		System.out.println("Digite o número de times: ");
		numerodetimes = scn.nextInt();
	}

	for (int i = 1; i <= numerodetimes; i++) {
		System.out.println("Digite o nome do time " + i + ": ");
		listtimes.add(scn.next()); //adiciona na lista
	}

	// Embaralhamos a lista
	Collections.shuffle(listtimes);

	// Retornamos o resultado da tabela
	int cont = 0;
	System.out.println(); //só para dar um espacinho
	System.out.println("RESULTADO:");
	while (cont < numerodetimes) {
		System.out.println(listtimes.get(cont++) + " X " + listtimes.get(cont++));
	}

}

}
[/code]

O acima só gera os jogos…
Esse aki eu fiz para gerar os jogos e o número de gols:

[code]import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

public class CampoDeFutebol {

public static void main(String[] args) {
	List<String> listtimes = new ArrayList<String>(); //declarando a lista de times
	Scanner scn = new Scanner(System.in); //declarando o scanner
	int numerodetimes = 1; //iniciando com um número impar para entrar na condição abaixo:
	Random random = new Random(); //declarando o random, utilizado para gerar o numero de gols.
	
	while (numerodetimes % 2 != 0) { //repita até que o número digitado seja par
		System.out.println("Digite o número de times: ");
		numerodetimes = scn.nextInt();
	}
		System.out.println(""); //só para dar o espaço

	for (int i = 1; i <= numerodetimes; i++) {
		System.out.println("Digite o nome do time " + i + ": ");
		listtimes.add(scn.next()); //adiciona na lista
	}

	// Embaralhamos a lista
	Collections.shuffle(listtimes);

	// Retornamos o resultado da tabela
	int cont = 0;
	System.out.println(); //só para dar um espacinho
	System.out.println("RESULTADO:");
	while (cont < numerodetimes) {		  
		 int gols1 = random.nextInt(10); //número randomico entre 0 e 9 
		 int gols2 = random.nextInt(10); 
		System.out.println(listtimes.get(cont++) + " "+ gols1+" X " + gols2 + " " + listtimes.get(cont++));
	}
}

}[/code]
Exemplo de saída:

[code]Digite o número de times:
4

Digite o nome do time 1:
Atletico
Digite o nome do time 2:
Cruzeiro
Digite o nome do time 3:
Vasco
Digite o nome do time 4:
Fluminense

RESULTADO:
Fluminense 2 X 3 Atletico
Vasco 2 X 8 Cruzeiro
[/code]

Vou testar aqui, valeu [=

Dinada…
Agora vc pode implementar, usando swing, tabelas (PELO AMOR DE DEUS, NAO USE DEFAULT TABLE MODEL), etc

Bom, agora só tenho um problema, os dados das rodadas teem de que colocadas pelo usuário, são duas rodadas, e o programa roda com diferentes números de times (acima de 4, números pares), fico imaginando como eu poderia fazer o sistema de pontuação… Estou aberto a dicas e sugestões, Obrigado!

Como assim? Em vez de usar o randon vc vai digitar ?
É só usar o scanner…