Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8394393
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T20:02:57+00:00 2026-06-09T20:02:57+00:00

Normally, when you create an object you provided the same type in front like:

  • 0

Normally, when you create an object you provided the same type in front
like:

Scanner scanner = new Scanner(System.in);

but declaring a HashMap object and TreeMap follow a different syntax like this.

Map m1 = new HashMap();
SortedMap sm = new TreeMap();

What is the reason? I asked my professor. But he did not know the answer.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T20:02:59+00:00Added an answer on June 9, 2026 at 8:02 pm

    but declaring a HashMap object and TreeMap follow a different syntax like this.

    You don’t have to. You can write:

    HashMap<String, Integer> map = new HashMap<String, Integer>();
    

    … it’s just that you usually don’t.

    Likewise you could write:

    Object scanner = new Scanner(System.in);
    

    Basically, there are two types involved:

    • The type of the variable you’re declaring
    • The type whose constructor you’re calling

    They don’t have to be the same, but the constructed type does have to be assignment compatible with the variable type. It has to be a superclass or an interface supported by the class. The point of only specifying a Map (or List or whatever) variable as just the interface type is that most of the code should only think about it as a map/list/set/whatever. The fact that it happens to be a HashMap (or ArrayList etc) under the covers is an implementation detail.

    See “programming to an interface” for more details of this… but stay aware that the syntax is the same in both cases:

    VariableType variableName = new ActualTypeBeingConstructed();
    

    I asked my professor. But he did not know the answer.

    That scares me…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We normally create objects using the new keyword, like: Object obj = new Object();
Without the database part you normally create a new object in Javascript like this:
Normally if you create a Stream object, the head will be eagerly evaluated: scala>
If you create a Filter object that contains criteria for Linq that normally goes
I normally create apps for the iPad, but I decided to make one for
So I have a datagridview. Normally I can create a bindinglist of my object
normally to create an object you would write: function Dog(name) { this.name = name;
Normally I create web application projects and use code-behind, but I have a requirement
A class is composed normally of member variables & methods. When we create instance
Is there a way to dynamically create an object using a string as the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.