some basic data structure implemented by java