• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmienne ( tablice, Stringi itp) - jak przechowywać?

Object Storage Arubacloud
0 głosów
1,333 wizyt
pytanie zadane 29 sierpnia 2016 w Java przez kaminki Obywatel (1,030 p.)
Jestem w trakcie planowania architektury do programu obliczeniowego związanego z budownictwem (na studia). Do obliczeń będę potrzebował stworzyć troszkę tabel z wartościami liczbowymi i tekstowymi oraz inne pojedyncze wartości stałe. I tu pytanie czy stworzyć klasę w której będę przechowywał tylko te wartości stałe i nic więcej a następnie będą pobierane stąd do obiektu, poprzez konstruktor, do innej klasy zawierającej już tylko konkretne dane do obliczeń? Czy jest jakiś inny ciekawszy i lepszy sposób?

1 odpowiedź

+1 głos
odpowiedź 29 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
wybrane 29 sierpnia 2016 przez kaminki
 
Najlepsza

Możesz użyć publicznych finalnych zmiennych (stałych):

public class Constances {

   public static final int PEWNA_LICZBA_DO_OBLICZEN = 16;
   public static final String PEWNY_NAPIS_DO_OBLICZEN = "Java";
   //...

}

Lub typu obliczeniowego też do przechowywania stałych (moim zdaniem lepszy pomysł):

public enum Constances {
  

   A(1,"ABC"),B,C(100,"XYZ");
   
   int a;
   String b;
   
   Constances(int a,String b){
      this.a = a;
      this.b = b;
   }

   Constances(){
      a = 0;
      b = "JVM";
   }
   
   public String getB(){
     return b;
   }
   
   public int getA(){
     return a;
   }

}

Jeśli chodzi o przechowywanie danych w dużych ilościach, masz do wyboru:

  • użycie bazy danych (SQL / NoSQL).
  • użycie plików (JSON,XML, CONF, INI, YAML).
  • użycie frameworku Collections w języku Java (wbudowany w język), dostępny w pakiecie java.util.

Co wybrać:

  • Duża skala i ilość danych: Baza Danych.
  • Szybki dostęp do danych w pamięci RAM - Framework Collections.
  • Aplikacja, która działa niezależnie na wielu urządzeniach i musi zapisywać dane w niewielkich ilościach - pliki.
  • Mała ilość stałych obliczeniowych, dostępnych bardzo szybko - typy wyliczeniowe, ewentualnie stałe wewnątrz klasy. 

Masz jakieś pytania, chętnie odpowiem, pisz w komentarzach pod tą odpowiedzią. 

komentarz 29 sierpnia 2016 przez kaminki Obywatel (1,030 p.)

Czy mogę dodać do enum taką tabelę ?

Dane będę pobierał na podstawie klucza np. "B15" i zwracać będzie tablicę z wartościami w takiej kolejności jak w kolumnie są. Później, w obliczeniach, będę odwoływał się w taki sposób tab[i]. I myślę że każdą kolumnę czyli klasę betonu zamieścić w HashMap z kluczem o nazwie klasy i dopisana tablicą jednowymiarową. I tu pytanie jak to ugryźć w enum?

komentarz 29 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)

Możesz to zrobić. Wszystko co jest nazwą w tabeli możesz skrócić lub użyć Mapy. Typ enum ma takie same możliwości co klasa tylko konstruktor jest bez modyfikatora dostępu, oraz nie trzeba go tworzyć. Odwołujesz się do tego:

Beton.B15; // Beton - nazwa enum, B15 klasa betonu.

 

Podobne pytania

0 głosów
0 odpowiedzi 111 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez klap Początkujący (410 p.)
0 głosów
1 odpowiedź 608 wizyt
pytanie zadane 24 stycznia 2017 w C i C++ przez mel0n Początkujący (400 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...