In sostanza vogliamo ottenere una lista, ordinata, di tuttii fusi orari con gli offset UTC per ogni zona.

Useremo:

  • una Map per l'ordinamento
  • una Map che riempiremo con tutte le zone
  • un ArrayList riempito in automatico con il metodo getAvailableZoneIds di ZoneId

L'output sarà simile al seguente:

Totale zone: 595
                         Etc/GMT+12 (UTC-12:00)
                  Pacific/Pago_Pago (UTC-11:00)
                      Pacific/Samoa (UTC-11:00)
                       Pacific/Niue (UTC-11:00)
                           US/Samoa (UTC-11:00)
                         Etc/GMT+11 (UTC-11:00)
                     Pacific/Midway (UTC-11:00)
                   Pacific/Honolulu (UTC-10:00)
                  Pacific/Rarotonga (UTC-10:00)
                     Pacific/Tahiti (UTC-10:00)
                   Pacific/Johnston (UTC-10:00)
                          US/Hawaii (UTC-10:00)
                      SystemV/HST10 (UTC-10:00)

Ovviemente ne ho messo solo una parte.

Il pattern Builder è uno dei pattern "fondamentali", utilizzato in alternativa all'utilizzo dei costruttori in overloading.

L'obiettivo è quello di rimpiazzare costruttori poco leggibili e poco flessibili, con classi che siano pronte a creare oggetti più complessi.

Oggi ne vediamo un esempio in Java; è solo una delle tante rappresentazioni, ed è un esempio basico dal quale partire.

Quella che useremo è una classe che rappresenta i campi di una tabella, che poi vengono estratti tramite query.

Oggi vediamo tre modi per recuperare un elemento random da una lista.

Useremo tre oggetti distinti:

Il primo è inoltre suggerito nel caso di utilizzo del multi-threading.

Partiremo sempre dallo stessa ArrayList.

Lo scenario è questo: abbiamo dei dati su un db che visualiziamo tramite JTable; quando vogliamo modificare un record lo selezioniamo e passiamo i valro a un JFrame che si occuperà di fare questo.

Come fare?

La cosa non è molto difficile.

Dopo aver aggiunto un JButton apposito dobbiamo creare un evento.

Io l'ho fatto fare a NetBeans (sono un pò pigro ).

Java non ha molti strumenti per accedere al livello basso del sistema e reperire informazioni hardware.

Anzi, non ne ha praticamente nessuno a parte la classe NetworkInterface.

Questa classe ci permette di identificare le schede di rete ed alcune informazioni associate.

Vediamo come creare un metodo che ci listi tutte le interfacce; le salveremo in un ArrayList così che possa essere facilmente richiamato in una JComboBox ad esempio (ciò che serviva a me).