Junior
Aké spôsoby spracovania dát existujú v Jave?
sobes.tech AI
Odpoveď od AI
-
Iterácia:
- Cyklus
for,while,do-while. - Iterátory (
Iterator,ListIterator). - Rozšírený
forcyklus (foreach).
List<String> data = new ArrayList<>(); data.add("item1"); data.add("item2"); for (String item : data) { System.out.println(item); // Spracovanie každého prvku } - Cyklus
-
Prúdy (Streams):
- API pre deklaratívne spracovanie kolekcií.
- Operácie vysokého stupňa:
filter,map,reduce,collect. - Podporujú paralelné spracovanie.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) // Filtrácia párnych .collect(Collectors.toList()); // Zhromažďovanie do zoznamu -
Paralelné prúdy (Parallel Streams):
- Rozšírenie prúdov pre automatické paralelizovanie.
- Jednoduché použitie:
.parallelStream().
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9); int sum = numbers.parallelStream() .mapToInt(Integer::intValue) .sum(); // Paralelné sčítanie -
RxJava / Reactor (Reaktívne programovanie):
- Asynchrónne spracovanie tokov dát pomocou reaktívneho programovania.
- Používa pozorovateľov (
Observable,Flux) a operátory (map,filter,merge).
// Príklad s RxJava Observable<String> source = Observable.just("Alpha", "Beta", "Gamma"); source.subscribe(s -> System.out.println("Prijaté: " + s)); // Spracovanie každého prvku asynchrónne -
Apache Spark / Hadoop MapReduce:
-
rámce pre distribuovanú spracovanie veľkých dát.
-
Vhodné pre ETL procesy, analytiku a spracovanie dát v klastre.
-
(Príklad kódu pre Spark/Hadoop je príliš rozsiahly na krátku odpoveď, ale podstata je v distribuovaných výpočtoch).
-
-
Dátové štruktúry v Jave:
- Použitie vhodných štruktúr (Arrays, Lists, Sets, Maps) pre efektívne ukladanie a prístup.
- Napríklad,
HashMappre rýchle vyhľadávanie podľa kľúča,HashSetpre unikátne prvky.
Map<String, Integer> ages = new HashMap<>(); ages.put("Alice", 30); ages.put("Bob", 25); System.out.println(ages.get("Alice")); // Rýchly prístup k údajom podľa kľúča -
Databázy (JDBC / ORM):
- Spracovanie dát nachádzajúcich sa v externých databázach.
- JDBC pre priame interakcie s SQL.
- ORM (Hibernate, JPA) pre objektovo-relačné mapovanie.
// Príklad JDBC try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT name, age FROM users")) { while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("Používateľ: " + name + ", Vek: " + age); // Spracovanie dát z DB } } catch (SQLException e) { e.printStackTrace(); }
Výber spôsobu závisí od objemu dát, požiadaviek na výkon, paralelizmu a zložitosti logiky spracovania.