lundi 25 mai 2020

How can I produce unique values of Object via Random Process in Java

I want to produce unique values of Movie Object via Random. I wrote a code snippet but I'm not sure all values cannot be unique by using Random().

How can I do this process to produce all of these unique values?

Here is my code snippets shown below.

private static ArrayList<Movie> addMovies(ArrayList<Movie> movieList) {

        for(int i=0;i<20;i++) {
            Movie movie = new Movie();
            movie.setId(defineMovieId());
            movie.setTitle(defineMovieName(15));
            movieList.add(movie);
        }       

        return movieList;
    }


    public static String defineMovieName(int n) { 

        // chose a Character random from this String 
        String AlphaNumericString = "ABCÇDEFGHIİJKLMNOÖPQRSŞTUÜVWXYZ"
                                    + "abcçdefghıijklmnoöpqrsştuüvxyz"; 

        StringBuilder sb = new StringBuilder(n); 

        for (int i = 0; i < n; i++) { 

            int index 
                = (int)(AlphaNumericString.length() 
                        * Math.random()); 

            sb.append(AlphaNumericString 
                          .charAt(index)); 
        } 

        return sb.toString(); 
    } 

    public static long defineMovieId() {
        int max = 1000;
        int min = 1;
        int range = max - min + 1;
        int res = (int) ( Math.random()*range) + min;
        return res; 
    }



Aucun commentaire:

Enregistrer un commentaire