Should the declaration of a HashMap always include the type e.g. 

```
private HashMap<String, String> test = new HashMap<String, String>();

```

because I see lots of examples in books where `<String, String>` is left out so we just have something like:

```
private Map test= new HashMap();

```

Which one is 'correct'?