androidarraysstringrandomnon-repetitive

How to get a random value from a string array without repetition?


How to get a random value from a string array in android without repetition?

I have array in String.xml file as below -

    <string-array name="msg">
    <item>Cow</item>
    <item>Pig</item>
    <item>Bird</item>
    <item>Sheep</item>
</string-array>

I am selecting random string by using following code -

String[] array = Objects.requireNonNull(context).getResources().getStringArray(R.array.msg);
String Msg = array[new Random().nextInt(array.length)];

Can anyone help me please? Thanks is advance...!


Solution

  • try this -

    array = Objects.requireNonNull(context).getResources().getStringArray(R.array.msg);
        //String msg = array[new Random().nextInt(array.length)];
    
        LinkedList<String> myList = new LinkedList<String>();
    
        for (String i : array)
            myList.add(i);
        Collections.shuffle(myList);
    
        for (int i = 0; i < myList.size(); i++) {
           String msg=myList.get(i);
        }