So , i have updated my main method by adding some print statements. Hope it helps to understand what i am getting:
My Software class:
The output looks like as below:
printing file contents
[Software [osName=Linux, softwareName=winscp, version=9.0], Software [osName=Linux, softwareName=winscp, version=10.0], Software [osName=Linux, softwareName=notepad++, version=11.0], Software [osName=Linux, softwareName=java, version=6.0], Software [osName=Ubuntu, softwareName=winscp, version=9.9], Software [osName=Ubuntu, softwareName=notepad++, version=11.1], Software [osName=Ubuntu, softwareName=notepad++, version=10.0], Software [osName=Ubuntu, softwareName=java, version=7.0], Software [osName=Windowa, softwareName=winscp, version=10.1], Software [osName=Windowa, softwareName=notepad++, version=10.0], Software [osName=Windowa, softwareName=java, version=8.0], Software [osName=MAC, softwareName=winscp, version=7.0], Software [osName=MAC, softwareName=notepad++, version=9.0], Software [osName=MAC, softwareName=java , version=10.0]]
------------------------
printing contents of the map grouped by OS
{Ubuntu={java=[Software [osName=Ubuntu, softwareName=java, version=7.0]], winscp=[Software [osName=Ubuntu, softwareName=winscp, version=9.9]], notepad++=[Software [osName=Ubuntu, softwareName=notepad++, version=11.1], Software [osName=Ubuntu, softwareName=notepad++, version=10.0]]},
Linux={java=[Software [osName=Linux, softwareName=java, version=6.0]], winscp=[Software [osName=Linux, softwareName=winscp, version=9.0], Software [osName=Linux, softwareName=winscp, version=10.0]], notepad++=[Software [osName=Linux, softwareName=notepad++, version=11.0]]},
Windowa={java=[Software [osName=Windowa, softwareName=java, version=8.0]], winscp=[Software [osName=Windowa, softwareName=winscp, version=10.1]], notepad++=[Software [osName=Windowa, softwareName=notepad++, version=10.0]]},
MAC={winscp=[Software [osName=MAC, softwareName=winscp, version=7.0]], java =[Software [osName=MAC, softwareName=java , version=10.0]], notepad++=[Software [osName=MAC, softwareName=notepad++, version=9.0]]}}
------------------------
printing contents of the map grouped by software in a OS
[{java=[Software [osName=Ubuntu, softwareName=java, version=7.0]], winscp=[Software [osName=Ubuntu, softwareName=winscp, version=9.9]], notepad++=[Software [osName=Ubuntu, softwareName=notepad++, version=11.1], Software [osName=Ubuntu, softwareName=notepad++, version=10.0]]},
{java=[Software [osName=Linux, softwareName=java, version=6.0]], winscp=[Software [osName=Linux, softwareName=winscp, version=9.0], Software [osName=Linux, softwareName=winscp, version=10.0]], notepad++=[Software [osName=Linux, softwareName=notepad++, version=11.0]]},
{java=[Software [osName=Windowa, softwareName=java, version=8.0]], winscp=[Software [osName=Windowa, softwareName=winscp, version=10.1]], notepad++=[Software [osName=Windowa, softwareName=notepad++, version=10.0]]},
{winscp=[Software [osName=MAC, softwareName=winscp, version=7.0]], java =[Software [osName=MAC, softwareName=java , version=10.0]], notepad++=[Software [osName=MAC, softwareName=notepad++, version=9.0]]}]
------------------------
is there any winscp version older than 9?
Software [osName=MAC, softwareName=winscp, version=7.0]