Sobes.tech
Junior

Java'da ma'lumotlarni qayta ishlashning qanday usullari mavjud?

sobes.tech AI

AIdan javob

  1. Takrorlash:

    • for, while, do-while sikllari.
    • Iteratorlar (Iterator, ListIterator).
    • Yaxshilangan for sikli (foreach).
    List<String> data = new ArrayList<>();
    data.add("item1");
    data.add("item2");
    
    for (String item : data) {
        System.out.println(item); // Har bir elementni ishlash
    }
    
  2. Streamlar:

    • Kolleksiyalarni deklarativ tarzda ishlash uchun API.
    • Yuqori darajadagi operatsiyalar: filter, map, reduce, collect.
    • Parallel ishlashni qo'llab-quvvatlaydi.
    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
    
    List<Integer> evenNumbers = numbers.stream()
                                       .filter(n -> n % 2 == 0) // Juftlarni filtrlash
                                       .collect(Collectors.toList()); // Ro'yxatga yig'ish
    
  3. Parallel Streamlar:

    • Streamlarni avtomatik parallel qilish uchun kengaytma.
    • Oddiy foydalanish: .parallelStream().
    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
    
    int sum = numbers.parallelStream()
                     .mapToInt(Integer::intValue)
                     .sum(); // Parallel yig'indi
    
  4. RxJava / Reactor (Reaktiv dasturlash):

    • Asinxron ma'lumot oqimlarini reaktiv tarzda ishlash.
    • Observable, Flux va operatorlar (map, filter, merge) ishlatiladi.
    // RxJava misol
    Observable<String> source = Observable.just("Alpha", "Beta", "Gamma");
    
    source.subscribe(s -> System.out.println("Qabul qilindi: " + s)); // Asinxron ishlash
    
  5. Apache Spark / Hadoop MapReduce:

    • Katta ma'lumotlarni tarqatilgan tarzda ishlash uchun frameworklar.

    • ETL, tahlil va klaster bo'yicha ma'lumotlarni ishlash uchun mos.

    • (Spark/Hadoop uchun kod misoli juda keng bo'lib, asosiy g'oya tarqatilgan hisoblash).

  6. Java ma'lumot tuzilmalari:

    • Ma'lumotlarni samarali saqlash va kirish uchun mos tuzilmalar (Arrays, Lists, Sets, Maps).
    • Masalan, HashMap tezkor qidiruv uchun, HashSet unikal elementlar uchun.
    Map<String, Integer> ages = new HashMap<>();
    ages.put("Alice", 30);
    ages.put("Bob", 25);
    
    System.out.println(ages.get("Alice")); // Tez kirish
    
  7. Ma'lumot bazalari (JDBC / ORM):

    • Tashqi bazalarda ma'lumotlarni ishlash.
    • SQL bilan to'g'ridan-to'g'ri ishlash uchun JDBC.
    • ORM (Hibernate, JPA) yordamida ob'ekt-ulararo moslik.
    // JDBC misol
    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("Foydalanuvchi: " + name + ", Yoshi: " + age); // Ma'lumotlarni ishlash
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    

Yondashuv ma'lumot hajmi, ishlash talablariga, parallelizm va ishlash mantiqining murakkabligiga bog'liq.