Guest User

Untitled

a guest
Jan 20th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. /* André Luiz & Marcus Tenorio
  2.  
  3. Respostas das questões:
  4. *
  5. * 1)
  6. a) Iterator.
  7. Cada coleção iterável em Java deve implementar um Iterator, então para iterar sobre qualquer coleção basta usar o próprio iterator do objeto.
  8. Iterator it = obj.iterator()
  9. while(it.hasNext()) {
  10. System.out.println(it.next());
  11. }
  12.  
  13.  
  14. b) get() usando o índice do elemento.
  15. lista.get(0) pega o primeiro elemento de uma lista de nome lista.
  16.  
  17. c) Sejam lista1 e lista2 duas listas do tipo ArrayList contendo objetos X quaisquer com equals implementado:
  18. for(X x: lista1)
  19. if(lista2.contains(x))
  20. doSomething();
  21.  
  22.  
  23. d) Queue<Integer> fila = new LinkedList<Integer>();
  24. fila.offer(1);
  25.  
  26. e) Dependendo do tipo de comportamento que se quer, cada uma dessas coleções tem uma finalidade distinta ou otimizada para cada situação.
  27.  
  28. Listas são úteis quando se quer pegar elementos pelo índice.
  29. Sets são úteis para evitar que os elementos sejam duplicados.
  30. Queue é útil para simular filas.
  31. Map é útil para associar chaves a valores.
  32.  
  33. ArrayLists são úteis para inserir elementos em qualquer lugar ou para se acessar elementos através de índice.
  34.  
  35. LinkedList são úteis se seguir uma ordem.
  36.  
  37.  
  38. 2)
  39. metodo = contaOcorrenciaCaractere
  40. atributo = texto
  41. classe = Frase */
  42.  
  43.  
  44.  
  45.  
  46.  
  47. /* Comeco do codigo */
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. import java.util.HashMap;
  59. import java.util.Scanner;
  60.  
  61.  
  62. public class Agenda {
  63.  
  64. private HashMap<Pessoa, Info> dados;
  65.  
  66. private static final int ADICIONAR = 1;
  67. private static final int IMPRIMIR = 2;
  68.  
  69. private static final String PROMPT = "Opcoes:\n" +
  70. "0) sair\n" + "1) adicionar contato\n" +
  71. "2) imprimir agenda";
  72.  
  73. public Agenda() {
  74. this.setDados(new HashMap<Pessoa, Info>());
  75. }
  76.  
  77. public static void main(String[] args) {
  78. Scanner entrada = new Scanner(System.in);
  79. Agenda agenda = new Agenda();
  80. Integer opcao;
  81.  
  82. do {
  83. System.out.println(PROMPT);
  84.  
  85. opcao = new Integer(entrada.nextLine());
  86.  
  87. switch(opcao) {
  88. case ADICIONAR:
  89. agenda.criarEAdicionaPessoa();
  90. break;
  91. case IMPRIMIR:
  92. System.out.println(agenda.getDados().size()+ " contatos");
  93. break;
  94. }
  95. } while(opcao != 0);
  96.  
  97. }
  98.  
  99. @Override
  100. public String toString() {
  101. return "Agenda [dados=" + dados + "]";
  102. }
  103.  
  104. public void criarEAdicionaPessoa() {
  105. Scanner sc = new Scanner(System.in);
  106. System.out.println("Digite o nome da pessoa: ");
  107. String nome = sc.nextLine();
  108. System.out.println("Digite o grau de proximidade da pessoa: ");
  109. Integer proximidade = new Integer(sc.nextLine());
  110. System.out.println("Digite o teleone da pessoa: ");
  111. String telefone = sc.nextLine();
  112. System.out.println("Digite o endereço da pessoa: ");
  113. String endereco = sc.nextLine();
  114. System.out.println("Digite o aniversário da pessoa: (DD/MM/YYYY)");
  115. String aniversario = sc.nextLine();
  116. Info dados = new Info(telefone, endereco, aniversario);
  117. this.adicionarContato(new Pessoa(nome, proximidade, dados));
  118. }
  119.  
  120. public void adicionarContato(Pessoa pessoa) {
  121. this.getDados().put(pessoa, pessoa.getDados());
  122. }
  123.  
  124. public HashMap<Pessoa, Info> getDados() {
  125. return dados;
  126. }
  127.  
  128. public void setDados(HashMap<Pessoa, Info> dados) {
  129. this.dados = dados;
  130. }
  131. }
Add Comment
Please, Sign In to add comment