JavaRush /Blog Jawa /Random-JV /Ngopi #209. 4 Cara Golek Duplikat ing Dhaftar Jawa. Caran...

Ngopi #209. 4 Cara Golek Duplikat ing Dhaftar Jawa. Carane Nggawe Media Player Prasaja Nggunakake Java

Diterbitake ing grup

4 Cara Golek Duplikat ing Dhaftar Jawa

Sumber: Codippa Artikel iki nyakup macem-macem cara kanggo nemokake duplikat ing Dhaptar. Kita nelpon unsur duplikat sing katon luwih saka sepisan. Ngopi #209.  4 Cara Nggoleki Duplikat ing Dhaptar Jawa.  Carane nggawe pamuter media prasaja nggunakake Java - 1

1. Nggunakake Set

Ing ngisor iki minangka algoritma kanggo nemokake unsur duplikat ing Dhaftar Jawa nggunakake Set .
  • Kita nggawe obyek Setel Jawa anyar lan ArrayList anyar kanggo nyimpen unsur duplikat.
  • Kita nindakake pengulangan utawa daur ulang liwat dhaptar.
  • We nambah saben unsur ing dhaftar kanggo Set nggunakake add () cara .
  • Akibaté, nambah () ngasilake bener yen unsur ditambahake, lan palsu yen unsur wis ana ing Set .
  • Yen unsur wis ana ing Set , iku duplikat. Banjur kita nambah menyang ArrayList .
  • Ing pungkasan iterasi, ArrayList anyar bakal ngemot kabeh unsur duplikat saka Dhaptar asli ( Dhaptar ).
Conto program adhedhasar algoritma iki kapacak ing ngisor iki.
List<Integer> numbers = List.of(1, 2, 3, 4, 3, 1, 2);
Set<Integer> set = new HashSet<>();
List<Object> duplicates = new ArrayList<>();
numbers.forEach(n -> {
  if (!set.add(n)) {
    duplicates.add(n);
  }
});
System.out.println("Duplicate elements: " + duplicates);
Kesimpulan:
Elemen duplikat: [3, 1, 2]
Elinga yen kita nggunakake forEach () cara kanggo iterate liwat List , nanging sampeyan bisa nggunakake sembarang cara liyane.

2. Nggunakake Peta

Ing ngisor iki ana langkah-langkah algoritma kanggo cara nemokake duplikat ing Daftar .
  • Nggawe obyek Peta anyar lan ArrayList anyar kanggo nahan unsur duplikat.
  • Tombol Peta iki bakal dadi unsur saka Dhaptar asli , lan nilai-nilai kasebut bakal dadi jumlah kedadeyan ing Dhaptar kasebut .
  • Loop liwat dhaptar ( Dhaptar ).
  • Kanggo saben unsur ing Dhaftar , mriksa apa iku ana minangka tombol ing Peta nggunakake containsKey () cara .
  • Yen ana, nambah nilai ing Peta lan nambah maneh nggunakake cara put () .
  • Yen ora ana, tambahake menyang Peta kanthi nilai 1.
  • Sawise iterasi dhaptar rampung, kabeh unsur Peta kanthi nilai luwih saka 1 dadi duplikat.
  • Pungkasan, ulangi Peta lan tambahake unsur sing nilai luwih saka 1 menyang dhaptar kanggo nyimpen unsur duplikat.
Conto program ditampilake ing ngisor iki:
List<Integer> numbers = List.of(1, 2, 3, 4, 3, 1, 2);
Map<Integer, Integer> countMap = new HashMap<>();
List<Object> duplicates = new ArrayList<>();
numbers.forEach(n -> {
  if (countMap.containsKey(n)) {
    countMap.put(n, countMap.get(n) + 1);
  } else {
    countMap.put(n, 1);
  }
});
countMap.keySet().forEach(k -> {
  if(countMap.get(k)> 1) {
    duplicates.add(k);
  }
});

3. Nggunakake puteran nested

Yen sampeyan dijaluk nemokake unsur duplikat ing dhaptar tanpa nggunakake kelas Koleksi kaya Set , Peta lan liya-liyane, mula cara iki bakal migunani. Fase algoritma:
  • Loop liwat dhaptar ( Dhaptar ).
  • Sawise daur ulang wis rampung pisanan, bali menyang wiwitan lan baleni langkah maneh kanggo nemokake saben item ing liyane dhaftar.
  • Yen unsur daur ulang saiki padha karo unsur sing isih ana, iku duplikat.
Program sing ditulis nggunakake algoritma iki katon kaya iki:
List<Integer> numbers = List.of(1, 2, 3, 4, 3, 1, 2);
List<Object> duplicates = new ArrayList<>();
for (int i = 0; i < numbers.size() - 1; i++) {
  for (int j = i + 1; j < numbers.size(); j++) {
    if (numbers.get(i).equals(numbers.get(j))) {
      duplicates.add(numbers.get(i));
    }
  }
}

4. Nggunakake Java Stream

Cara iki adhedhasar Java 8 threads lan dianggo kaya iki:
  • Ngonversi Dhaptar menyang Stream .
  • Ngonversi stream menyang Peta nggunakake cara ngumpulake () . Contone, kunci yaiku saben unsur ing dhaptar, lan nilai yaiku jumlah kedadeyan.
  • Cara ngumpulake () bali lan Map njupuk Kolektor minangka argumen. Implementasi Kolektor nemtokake kunci lan nilai saka Peta sing diasilake .
  • Amarga kita pengin tombol Peta minangka unsur saka Dhaftar lan nilai-nilai kasebut minangka jumlah kedadeyane, kita bisa nggunakake Collectors.groupingBy() kanggo nggawe kolektor .
  • Sawise Peta wis digawe nggunakake groupingBy () , nggunakake cara entrySet () kanggo njupuk pesawat saka Map.Entry obyek .
  • Nyaring cathetan adhedhasar nilai (yaiku, jumlah kedadeyan) luwih saka 1.
  • Cocokake cathetan sing disaring karo kuncine.
Contoh program:
List<Integer> numbers = List.of(1, 2, 3, 4, 3, 1, 2);
Map<Object, Long> map = numbers.
                        stream().
                        collect(
                          Collectors.
                          groupingBy(n -> n, Collectors.counting())
                        );
List<Object> duplicates = map.
                          entrySet().
                          stream().
                          filter(e -> e.getValue() > 1).
                          map(e -> e.getKey()).
        collect(Collectors.toList());
Cara groupingBy () digunakake kanggo klompok item ing koleksi adhedhasar kritéria tartamtu. Mangkene conto cara kerjane metode iki:
  • Kriteria kasebut diwenehake minangka ekspresi lambda amarga groupingBy () njupuk argumen Fungsi , yaiku antarmuka fungsi.
  • Ing kasus iki, dikelompokake miturut fungsi identitas n -> n , sing tegese kita ngelompokake unsur dhaptar kanthi nilai.
  • Argumentasi kapindho kanggo groupingBy () yaiku kolektor liyane sing nemtokake cara unsur ing saben klompok kudu digabung.
  • Kene kita nggunakake Collectors.counting () kang nggawe Peta ngemot count saben unsur ing dhaftar.
Akibaté, Peta asil bakal ngemot count kaping pirang-pirang saben unsur katon ing dhaftar. Kita banjur nyaring Peta nggunakake filter () cara kanggo nemokake unsur sing count luwih saka 1, nuduhake yen padha duplikat.

Carane Nggawe Media Player Prasaja Nggunakake Java

Sumber: Sedheng Tutorial iki bakal mbantu nggawe pamuter media prasaja ing Jawa kanggo muter file audio lan video. Ngopi #209.  4 Cara Nggoleki Duplikat ing Dhaptar Jawa.  Carane nggawe pamuter media prasaja nggunakake Java - 2Ngembangake pamuter media bisa dadi cara sing apik kanggo sinau babagan nggunakake perpustakaan sing dibangun ing Jawa kanggo nggarap file media. Kanggo ngrampungake tugas iki, kita bakal nggunakake JavaFX lan toolkit Graphical User Interface (GUI) kanggo Java.

Langkah 1: Persiyapan Proyek

Kaping pisanan, kita kudu nyiyapake proyek Java. Kita bakal nggunakake Eclipse minangka IDE, nanging sampeyan bisa nggunakake IDE apa wae sing sampeyan pilih. Gawe proyek Java anyar lan jenenge "MediaPlayer". Kita uga kudu nambah perpustakaan JavaFX menyang proyek kita. Kanggo nindakake iki, pindhah menyang properti proyek lan tambahake perpustakaan JavaFX menyang path mbangun proyek.

Langkah 2: Nggawe Antarmuka Panganggo

Sabanjure kita bakal nggawe antarmuka pangguna kanggo pamuter media kita. Iku bakal dadi antarmuka panganggo prasaja karo tombol play, tombol mandeg lan panel pamuter media sing nampilake video utawa file audio sing arep kita muter. Kanggo antarmuka kita bakal nggunakake tata letak BorderPane . Panel pamuter media bakal ana ing tengah BorderPane, lan tombol play lan stop bakal ana ing sisih ngisor BorderPane. Iki kode UI:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;

public class MediaPlayerApp extends Application {

    private MediaPlayer mediaPlayer;

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("Media Player");

        Button playButton = new Button("Play");
        playButton.setOnAction(e -> mediaPlayer.play());

        Button stopButton = new Button("Stop");
        stopButton.setOnAction(e -> mediaPlayer.stop());

        BorderPane borderPane = new BorderPane();

        Media media = new Media("http://www.example.com/sample.mp4");
        mediaPlayer = new MediaPlayer(media);
        MediaView mediaView = new MediaView(mediaPlayer);
        borderPane.setCenter(mediaView);
        borderPane.setBottom(stopButton);
        borderPane.setRight(playButton);

        Scene scene = new Scene(borderPane, 600, 400);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Ing kode iki, kita nggawe rong tombol: playButton lan stopButton . Nalika tombol play diklik, kita nelpon cara play () obyek mediaPlayer . Nalika tombol mandeg diklik, kita nelpon cara mandeg () obyek mediaPlayer . Kita uga nggawe obyek Media kanthi URL conto file video lan obyek mediaPlayer kanthi obyek Media . Pungkasan, kita nggawe obyek MediaView karo obyek MediaPlayer lan nyetel minangka pusat BorderPane .

Langkah 3. Testing pamuter media

Saiki kita duwe UI pamuter media sing dikonfigurasi, kita bisa nyoba kanthi mbukak aplikasi kasebut. Nalika kita miwiti aplikasi kasebut, UI pamuter media kudu katon lan kita bisa ngeklik tombol play kanggo miwiti muter file video. Kita uga bisa ngeklik tombol mandeg kanggo mungkasi muter file video.

Langkah 4: Nggawe pamuter media

Saiki kita duwe pamuter media sing bisa digunakake, kita bisa ngatur kanthi seneng. Kita bisa ngganti tata letak antarmuka pangguna, ngganti file video sing lagi diputer, nambah tombol tambahan kanggo nyetel volume, utawa nambah garis kemajuan kanggo nuduhake kemajuan video.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION