A heater fits in my 1 gallon just fine.
And to be sure about your tank being a 1 gallon all you need to do is take an empty 1 gallon milk jug (the big jugs), fill it with water, then pour it in your tank. If it completely empties into your tank with a little room to spare then you've got a 1 gallon. if it's less than that it's not 1 gallon.
you could also get a tetra 25 watt submersible heater from walmart for $15. It'll be near the 30 dollar 5 gallon kits and the bettas.
The tetra heater is also pretty small and it fits well into 1 gallon containers. You
MUST keep it fully submerged though as it has no failsafes to keep it from cooking your fish if it's exposed to air.
Do you have a really big pickling jar? like the kind you pickle eggs in? If so then you could rinse it in really hot water a few times, let it cool, then just use that.
Filters aren't nessesary but if you don't get one you'll have to do daily water changes for a 1 gallon.