As with any kind of performance optimization, the first thing to ask yourself is whether the time taken to set up these structures at run time is really affecting performance. How big area your structures? How long do they take to set up? If you haven't measured this you are engaging in premature optimization, which as we know is the root of all evil.
Assuming you have done this, then let's look at the options. How much time can you really save? Your best bet is to use some form of serialization, but you are going to have to write that yourself; even if you define a file format to hold the content, the file is going to have to be parsed, and the in-memory data structures will have to be created. That's going to take time, and it's unlikely to be substantially faster than just creating the Maps or Sets and populating them. In some languages you could theoretically save the bit pattern of the memory for these structures, but even if you can do that you are making yourself vulnerable to any little change in compiler version, and any errors you make will be virtually impossible to debug.
In short, don't do this unless you are sure you need to. Even then, you probably shouldn't do this. The only time you should is if the (probably very small) saving of time will absolutely mean the difference between success and failure of your project.