Rumah >Java >javaTutorial >Program Java untuk merombak elemen vektor

Program Java untuk merombak elemen vektor

WBOY
WBOYke hadapan
2023-08-27 09:05:05567semak imbas

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);  
   }  
}  

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);
   }
}

Output

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

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);
	}
}

Output

Original Vector is here ----> : [10, 16, 7, 2001, 1997]
After shuffling we get the set here ---->: [1997, 10, 7, 16, 2001]
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);
	}
}

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]
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); 
   }
}

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]

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);         
   }  
}

Output

[Hi!, Hello!, Hallo!, Bonjour!]
[Hi!, Hello!, Bonjour!, Hallo!]

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);
	}
}

Output

[1997, 2022, 2001, 25, 11, 16, 7, 10]

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam