I would choose the second case. Imagine that for some reasons, you have to create more than 3 arrays, would you really split them into smaller, modify the code where you pass them to the next activity ? Imagine now that you have to access to this entries for another activity, you will have to re-implement this stuff. This isn't maintanable.
I don't think this is really judicious to use extras for such stuff. By creating a database you will be able to :
1 - Stock important datas
2 - Access them everywhere
So I would create entries in a database.