Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Return ArrayList from ArrayList method type

I'm making a little card deck program that uses an ArrayList for the deck. One of the limitations set upon me is that the method in which I "deal" the cards must be an Arraylist type. The problem I'm running into is that I don't know how to return just a specific index value from the ArrayList. See below.

public ArrayList deal(int n, boolean up){
    Card card0 = new Card();
    boolean cardFace = card0.state(up);
    return al.get(0);  //<-- This doesn't work, Netbeans says that it is a string type
                            //not an ArrayList type.  The only thing it will actually
                            //allow me to return is:
    return.al;  // But this doesn't work, I don't need to return the whole list,
                // just the first element, but Netbeans calls that a String type, not
                // ArrayList

So how can I return the first item of the List and still have it be the correct type? The rest of the code doesn't matter, just the Method type and return statement.

EDIT: As requested

package deckofcards;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Deck{
    ArrayList<String> al = new ArrayList<>();
    public void shuffle(){
        Collections.shuffle(al);
    }
    public String displayDeck(){
        String returnDeck = "";
        for(int i = 0; i < al.size(); i++){
            String printDeck = al.get(i);
            returnDeck += printDeck;
        }
        return returnDeck;
    }
    public ArrayList deal(int n, boolean up){
        Card card0 = new Card();
        boolean cardFace = card0.state(up);
        return al.get(0);
    }
    public void populate(){
        al.add(0, "Ace of Spades");
        al.add(1, "Two of Spades");
        al.add(2, "Three of Spades");
        //yadaa yadaa
like image 598
user3066571 Avatar asked Nov 01 '25 04:11

user3066571


1 Answers

If you cannot change the signature and it is mandatory to return an arraylist, then you can create an arraylist with just one element and return it. Something like this:

ArrayList returnList = new ArrayList();
returnList.add(al.get(0));
return returnList;

Does not look great to me :-(

like image 197
Juned Ahsan Avatar answered Nov 02 '25 20:11

Juned Ahsan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!