Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on • Edited on

     

HackerRank #26 | Generics | 🇧🇷

Este exercício pede para que completemos uma classe com um métodoGenerics que consiga receber tantoStrings quantoints.

OsGeneric Methods são utilizados nestes casos e sua sintaxe é a seguinte (em JDK8):

static <T> void fromArrayToCollection(T[] a, Collection<T> c) {    for (T o : a) {        c.add(o); // Correct    }}
Enter fullscreen modeExit fullscreen mode

Quando usamos estamos especificando o tipo de elementos que oArray pega. Usamos a letra T porque, por convenção, temos as seguintes iniciais no Java:

T: Type | E: Element | V: Value | K: Key | N: Number

Essas convenções não são obrigatórias, só facilitam a leitura e o entendimento do código para outras pessoas. Especificamos que oArrayT[] se chamaráa e se utilizará daCollection que passa o tipo T e que se chamarác.

Depois de passarmos a especificação de queArray eTipo, fazemos um forEach (sintaxe:for ( : ) {}) dizendo que pegamos todo elementoo de tipoT (que não existe, então recebe qualquer coisa) do Arraya.

Em seguida, retornamos que os itens chamadoso serão adicionados àc pelo método .add.

========

O exemplo acima é da documentação oficial da Oracle. No caso da resolução do exercício, fiz da seguinte forma:

  • Dentro daclass Printer, declarei o método public que passa elementos do tipo<T> e umprintArray que passa umArray T[] chamado array.
  • Fiz um forEach onde elementos do tipo T chamadositem (aqui poderíamos poder qualquer nome) são capturados no Arrayarray.
  • Por fim, oSystem.out.println imprime estes itens.
class Printer{    public <T> void printArray(T[] array) {        for (T item : array) {            System.out.println(item);        }    }}
Enter fullscreen modeExit fullscreen mode

=========

Referências

Generics : DevMedia
Generic Method : Oracle

============

Essa publicação faz parte de uma série de exercícios resolvidos em Java no HackerRank. Acesse a série completa:

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Software Developer
  • Work
    Vilt Group
  • Joined

More fromBeatriz Maciel

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp