Verificar disponibilidade de livro

Olá pessoal, estou tentando fazer uma verificação no case 2 do switch (opmenu).
Necessito mostrar a lista de livros que o usuário retirou. E depois verificar se o nome que o usuário digitou é igual ao que está armazenado no Array se for o livro estará indisponível se não estará disponível para retirada.

Segue o meu código

package br.com.lucas;

import java.util.ArrayList;
import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author lucas
 */
public class InserirLivro{
    
    boolean verificarLivros;
    
   public boolean isAvailable(){            
            return this.verificarLivros = true;
        
        }
   
        public InserirLivro(){
        
        int opmenu,op = 0; 
        String nomePessoa;
          ArrayList<String> nomes = new ArrayList<>();
         
         Livros l = new Livros();
         Scanner leia = new Scanner(System.in);
         
             
         
         System.out.println("Biblioteca-Ágil\n");         
         System.out.println("1- Retirar livro\n" +
                            "2- Devolver livro\n" +
                            "3- Doar livro\n");
         
         System.out.println("Informe o número da opção: ");
          opmenu = leia.nextInt();
              
     
        switch(opmenu){
            case 1:
                System.out.println("\nlivros para retirar:\n" +
                        "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                        "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                        "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                System.out.println("Informe o número da opção do livro: ");
               op = leia.nextInt();
    
                switch(op){
                    
                    case 1:
                        System.out.println("Informe o seu nome para retirada do livro: ");
                        nomePessoa = leia.next();
                        nomes.add(nomePessoa);
                        
                        System.out.println("Número: 01\n"
                                +"Ttitulo: Como fazer sentido e bater o martelo\n"+
                                "Autor:  Alexandro Aolchique\n"+
                                "Ano: 2017\n"+
                                "status: Disponível\n"+
                                "Emprestado para: "+ nomes.get(0) +"\n");
                        System.out.println("livro retirado com sucesso!");
                        System.out.println("------------------------------");
                       
                        
                        System.out.println("\nlivros para retirar:\n" +
                                "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                        System.out.println("Informe o número da opção do livro: ");
                        op = leia.nextInt();
                        if(op == 1){
                            if(verificarLivros != true){
                                System.out.println("livro indisponível!");
                                System.out.println("\nlivros para retirar:\n" +
                                        "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                        "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                        "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                                System.out.println("Informe o número da opção do livro: ");
                                op = leia.nextInt();
                            }else{
                                System.out.println("livro disponível!");
                            }                        
                        }
                        
                    case 2:
                        System.out.println("Informe o seu nome para retirada do livro: ");
                        nomePessoa = leia.next();
                        nomes.add(nomePessoa);
                        
                        System.out.println("Número: 02\n"
                                +"Ttitulo: Código Limpo\n"+
                                "Autor:  Tio Bob\n"+
                                "Ano: 2001\n"+
                                "status: Disponível\n"+
                                "Emprestado para: "+ nomes.get(1) +"\n");
                        System.out.println("livro retirado com sucesso!");
                        System.out.println("------------------------------");
        
                        System.out.println("\nlivros para retirar:\n" +
                                "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                        System.out.println("Informe o número da opção do livro: ");
                        op = leia.nextInt();
                        
                        if(op == 2){
                            if(verificarLivros != true){
                                System.out.println("livro indisponível!");
                                System.out.println("\nlivros para retirar:\n" +
                                        "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                        "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                        "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                                System.out.println("Informe o número da opção do livro: ");
                                op = leia.nextInt();
                            }else{
                                System.out.println("livro disponível!");
                            }                        
                        }
                        
                    case 3:
                        System.out.println("Informe o seu nome para retirada do livro: ");
                        nomePessoa = leia.next();
                        nomes.add(nomePessoa);
                        
                        System.out.println("Número: 03\n"
                                +"Ttitulo: Basquete 101\n"+
                                "Autor:  Hortência Marcari\n"+
                                "Ano: 2010\n"+
                                "status: Disponível\n"+
                                "Emprestado para: "+ nomes.get(2) +"\n");
                        System.out.println("livro retirado com sucesso!");
                        System.out.println("------------------------------");
                        
                        
                        System.out.println("\nlivros para retirar:\n" +
                                "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                        System.out.println("Informe o número da opção do livro: ");
                        op = leia.nextInt();

                        
                        if(op == 3){
                            if(verificarLivros != true){
                                System.out.println("livro indisponível!");
                            }else{
                                System.out.println("livro disponível!");
                            }
                            break;
                        } 
                    default: System.out.println("opção invalida!");
                    
                }break;
                
                
            case 2:
                 System.out.println("Selecione um Livro para devolução.\n" +
                                    "1- Como fazer sentido e bater o martelo-Autor: Alexandro Aolchique - Ano: 2017\n" +
                                    "2- Código Limpo - Autor: Tio Bob - Ano: 2001\n" +
                                    "3- Basquete 101 - Autor: Hortência Marcari - Ano: 2010\n");
                 System.out.println("Informe o número da opção do livro: ");
                 op = leia.nextInt();
                 
                 System.out.println("Informe o seu nome para efetuar a devolução do livro.");
                 nomePessoa = leia.next();

//código para devolução aqui...
                 break;
            case 3:
                System.out.println("essa é a op 3");
                break;
            default:
                System.out.println("Informe o número correto da opção!");
                break;
                
    }
   }        
  }

Se não tiver enganado é nesse case que você que verificar o nome fo usuário com o arrays com os nomes

isso

mostra esse erro no console.

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:657)
	at java.util.ArrayList.get(ArrayList.java:433)
	at br.com.lucas.InserirLivro.<init>(InserirLivro.java:174)
	at br.com.lucas.Main.main(Main.java:16)
/home/lucas/.cache/netbeans/8.2/executor-snippets/run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 3 segundos)

o código adicionado.

                 String NomeRecebido = nomes.get(1);
                 System.out.println(nomes.get(1));
                    if(NomeRecebido.isEmpty() == false){
                    System.out.println("Usuário igual");
                    }

Nossa me desculpe é o nomes.constraint().Tem que usar assim:
Boolean check= nomes.constraint(nomePessoa);
If(check==true){
System.out.prinln(" Valores iguais");
}