Rumah > Java > javaTutorial > teks badan

Program Java untuk merombak elemen vektor

WBOY
Lepaskan: 2023-08-27 09:05:05
ke hadapan
515 orang telah melayarinya

Program Java untuk merombak elemen vektor

Shuffle() ialah kaedah kelas koleksi dalam Java yang berfungsi secara rawak berdasarkan logik pilih atur bagi kumpulan elemen senarai tertentu. Pokok ialah dua jenis kaedah yang berbeza dalam kelas shuffle(), bergantung pada parameter tertentu.

  • Kaedah shuffle(senarai) koleksi Java.

  • Kaedah shuffle(senarai, rawak) Java Collections. Dalam kaedah ini, kita boleh menyusun aksara secara rawak untuk menghasilkan beberapa nilai rawak. Kemudian kami akan menggunakan kaedah suffle padanya.

Untuk melakukan shuffling vektor, kita boleh menggunakan algoritma shuffling Fisher-Yates. Dalam pendekatan ini kita boleh mengimbas vektor secara linear dan menukar setiap elemen dengan unsur rawak.

Dalam artikel hari ini, kita akan belajar cara mengocok elemen vektor menggunakan persekitaran Java.

Tulis program Java untuk mengacak algoritma elemen vektor

Ini ialah algoritma yang mungkin dalam kod Java, bagaimana kita boleh mengocok elemen vektor yang mengandungi rentetan.

  • Langkah 1 - Bermula.

  • Langkah 2 - Isytiharkan pakej shuffle yang wujud dalam persekitaran Java.

  • Langkah 3 - Isytiharkan fungsi untuk mengocok kad.

  • Langkah 4 - Jika operasi adalah untuk mengocok vektor rawak, isytiharkannya.

  • Langkah 5 - Isytiharkan kelas awam.

  • Langkah 6 - Dapatkan vektor tatasusunan input.

  • Langkah 7 - Sebutkan panjang tatasusunan.

  • Langkah 8 - Jika pengisytiharan adalah rawak, isytiharkannya.

  • Langkah 9 - Teruskan ke langkah seterusnya.

  • Langkah 10 - Gunakan gelung for untuk menjalankan kaedah.

  • Langkah 11 - Ulangi nilai.

  • Langkah 12 - Kurangkan nilai jika perlu.

  • Langkah 13 - Tukar dan tukar kedudukan.

  • Langkah 14 - Hadiri Kursus Bantuan

  • Langkah 15 - Isytiharkan nilai perubahan sama dengan kelas pembantu.

  • Langkah 16 - Masukkan rentetan parameter.

  • Langkah 17 - Masukkan rentetan int.

  • Langkah 18 - Isytiharkan subarray.

  • Langkah 19 - Minta cetakan.

  • Langkah 20 - Penamatan.

Sintaks untuk menulis program Java untuk merombak elemen vektor

General Syntax:
public static void shuffle(List<?> list)  
public static void shuffle(List<?> list, Random random)  

Possible Code Syntax:

public class Main {
   public static void main(String[] args) {
      Vector<String> v = new Vector<String>();

      v.add("16");
      v.add("07");
      v.add("10");
      v.add("2001");
      v.add("1997");
      System.out.println(v);
      Collections.shuffle(v);
      System.out.println(v);
   }
}

Double Shuffle:

import java.util.*;  
public class CollectionsShuffleTutorialspoint {  
   public static void main(String[] args) {  
      List<String> list = Arrays.asList("X", "Y", "R", "A");  
      System.out.println("List Before Shuffle Here ----> : "+list);  
      Collections.shuffle(list);  
      System.out.println("List After Shuffle Is Here ----> : "+list);  
   }  
}  
Salin selepas log masuk

Di sini kami telah menyebut kemungkinan sintaks yang berkaitan dengan kaedah shuffle. Anda dapat melihat bahawa proses shuffling berganda juga berfungsi untuk elemen vektor. Dengan sintaks yang mungkin ini, kami cuba membina beberapa kod Java kemudian untuk merombak elemen vektor dalam rentetan tertentu.

Cara membina program Java untuk mengacak elemen vektor

  • Kaedah 1 - Program Java untuk merombak elemen vektor

  • Kaedah 2−Algoritma Kocok Fisher-Yates

Program Java untuk mengacak elemen vektor

Di sini kami menyertakan beberapa kod binaan Java yang membolehkan kami mengocok beberapa elemen vektor dengan cara yang mudah dan rawak.

Terjemahan bahasa Cina bagi

Contoh 1

ialah:

Contoh 1

import java.util.Collections;
import java.util.Vector;
public class VectorShuffleElements {
   public static void main(String[] args) { 
      Vector<Integer> vNumbers = new Vector<Integer>();
      vNumbers.add(16);
      vNumbers.add(07);
      vNumbers.add(2001);
      vNumbers.add(1997);
      vNumbers.add(10);
      Collections.shuffle(vNumbers);
      System.out.println("Vector contains are present in the list:----> " + vNumbers);
   }
}
Salin selepas log masuk

Output

Vector contains are present in the list:----> [16, 2001, 7, 10, 1997]
Salin selepas log masuk

Contoh 2

diterjemahkan sebagai:

Contoh 2

import java.util.Vector;
import java.util.Collections;
public class Tutorialspoint {
	public static void main(String[] args){
      Vector<String> vec07 = new Vector<String>();
      vec07.add("10");
      vec07.add("16");
      vec07.add("7");
      vec07.add("2001");
      vec07.add("1997");
      System.out.println("Original Vector is here ----> : " + vec07);	
      Collections.shuffle(vec07);
      System.out.println("After shuffling we get the set here ---->: " + vec07);
	}
}
Salin selepas log masuk

Output

Original Vector is here ----> : [10, 16, 7, 2001, 1997]
After shuffling we get the set here ---->: [1997, 10, 7, 16, 2001]
Salin selepas log masuk
Terjemahan bahasa Cina bagi

Contoh 3

ialah:

Contoh 3

import java.util.*;
import java.util.Vector;
import java.util.Collections;
public class ARBRDD {
	public static void main(String[] args){
      Vector<String> vec = new Vector<String>();
      vec.add("13109");
      vec.add("KOAA-DHAKA Maitree Express");
      vec.add("International Railway Connectivity");
      vec.add("India");
      vec.add("Bangladesh");
      System.out.println("Original Vector is here ----> : " + vec);
      Collections.shuffle(vec, new Random());
      System.out.println("\nShuffled Vector with Random() is here ----> : \n" + vec);
      Collections.shuffle(vec, new Random(3));
      System.out.println("\nShuffled Vector with Random(3) is here ---->: \n" + vec);
      Collections.shuffle(vec, new Random(5));
      System.out.println("\nShuffled Vector with Random(5) is here ----> : \n" + vec);
	}
}
Salin selepas log masuk

Output

Original Vector is here ----> : [13109, KOAA-DHAKA Maitree Express, International Railway Connectivity, India, Bangladesh]

Shuffled Vector with Random() is here ----> : 
[KOAA-DHAKA Maitree Express, 13109, International Railway Connectivity, India, Bangladesh]

Shuffled Vector with Random(3) is here ---->: 
[India, 13109, KOAA-DHAKA Maitree Express, International Railway Connectivity, Bangladesh]

Shuffled Vector with Random(5) is here ----> : 
[International Railway Connectivity, 13109, Bangladesh, India, KOAA-DHAKA Maitree Express]
Salin selepas log masuk
Terjemahan bahasa Cina bagi

Contoh 4

ialah:

Contoh 4

import java.util.Arrays; 
import java.util.Collections; 
import java.util.List; 
import java.util.Random; 
public class RandomizeList { 
   public static void main(String args[]) { 
      List<Integer> numbers = Arrays.asList(16, 7, 10, 2001, 1997, 10, 2022); System.out.println("Particular List Before Shuffling Present Here ---->: " + numbers);
      Collections.shuffle(numbers); 
      System.out.println("The Particular List after shuffling Done --->: " + numbers); 
      Collections.shuffle(numbers, new Random(System.nanoTime())); 
       System.out.println("Particular List After Shuffling Again Done ---->: " + numbers); 
   }
}
Salin selepas log masuk

Output

Particular List Before Shuffling Present Here ---->: [16, 7, 10, 2001, 1997, 10, 2022]
The Particular List after shuffling Done --->: [1997, 2001, 10, 2022, 7, 10, 16]
Particular List After Shuffling Again Done ---->: [1997, 2022, 10, 10, 16, 7, 2001]
Salin selepas log masuk

Contoh 5

import java.util.*;  
public class Greetingsshufflelist {  
   public static void main(String[] args) {          
      List<String> list = Arrays.asList("Hi!", "Hello!", "Hallo!", "Bonjour!");  
      System.out.println(list);  
      Collections.shuffle(list, new Random(7));  
      System.out.println(list);         
   }  
}
Salin selepas log masuk

Output

[Hi!, Hello!, Hallo!, Bonjour!]
[Hi!, Hello!, Bonjour!, Hallo!]
Salin selepas log masuk

Algoritma shuffling Fisher-Yates merombak elemen vektor

Algoritma shuffle Fisher Yates ialah kaedah berjalan proses hipotetikal dalam Java dengan kerumitan berjalan O(n). Fungsi rand() menjana nombor rawak dalam masa O(1).

Contoh 6

diterjemahkan sebagai:

Contoh 6

import java.util.Random;
import java.util.Arrays;
public class ShuffleRand{
	static void randomize( int arr[], int n){
      Random r = new Random();
      for (int i = n-1; i > 0; i--) {
      	int j = r.nextInt(i+1);
      	int temp = arr[i];
      	arr[i] = arr[j];
      	arr[j] = temp;
      }
      System.out.println(Arrays.toString(arr));
	}
	public static void main(String[] args){
      
      int[] arr = {16, 7, 10, 2022, 1997, 2001, 25, 11};
      int n = arr.length;
      randomize (arr, n);
	}
}
Salin selepas log masuk

Output

[1997, 2022, 2001, 25, 11, 16, 7, 10]
Salin selepas log masuk

Kesimpulan

Dari artikel hari ini, kami mengetahui tentang beberapa kemungkinan kaedah shuffle kod java melalui sintaks dan algoritma. Semoga artikel ini membantu anda memahami cara pelbagai kaedah shuffling vektor yang dinyatakan di sini beroperasi.

Atas ialah kandungan terperinci Program Java untuk merombak elemen vektor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!