It depends on your requirements. If the data is indispensable, an SQLite database will persist even if your B4J program crashes. That is, the data will still be there when your B4J program starts up again, provided you didn't corrupt the db. If you had used a Map, a program crash would mean you lose all the data in the Map. Also, if you plan on running the B4J program for a long time and storing a lot of data, the Map will grow in size and consume ever more heap space. You might eventually get a java.lang.OutOfMemory Exception (depending, of course, on how big your heap is and how much data you are trying to store in your Map). With an SQLite db, this won't happen; the db is stored on your hard disk (though that means slower access). From a programming perspective, Maps are definitely easier to use than SQLite.
The threading model of your program will also have some effect on the optimal choice. SQLite automatically forces access to be serial in nature. This protects against many threading-related problems. Default B4J Maps aren't thread safe, though B4J does offer a thread safe Map you can use.