Can't send ArrayList to other non-activity class: Here i am declaring the arraylist and adding value to it:
private ArrayList<String> act = new ArrayList<String>();
act.add("ds");

Here i am creating the method which is returning the arraylist:
public ArrayList<String> getAct() {
return act;
}

Here i am getting it:
private ArrayList<String> act = new MainActivity().getAct();

And when i get the size of act is 0(it is empty). Can you tell me why?

If you're using construction new MainActivity().getAct() you have to fill your array in Activity constructor. So if you're doing it in lifecycle, it will will be empty.
It's better to use static factory to provide your array and pass it later to your activity.

When you create a new instance of any class, all non-static variables are initialized to their default values. If you really want to get the ArrayList in that way, either you need to use the same Activity reference:
private ArrayList<String> act = mainActivity.getAct();

or you need to make that variable static:
private static ArrayList<String> act = new ArrayList<String>();

Then the following will work:
private ArrayList<String> act = new MainActivity().getAct();