Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Android Build a Blog Reader Android App Getting Data from the Web Trying Code and Catching Exceptions

Oliver Acevedo
Oliver Acevedo
4,338 Points

What does organizing imports actually do? Is that the same as "Optimizing Imports"? I don't see any difference.

I hear Ben saying, "Let's organize our imports" all the time and have no idea what he's talking about. Ctrl + O doesn't do what he says it does. It "Overrides Methods". I do ctrl+shift+O and that seems to be to Optimize Imports but still I have no idea what it's doing and why we need to do it all the time.

1 Answer

Hi Oliver,

This is much related to core concept of Java. To increase efficiency of a program, not all library declarations that are available are used at once. Only those that are needed are imported into our program.

For instance the Random java function which you might have used in the earlier app tutorial. Random is a class already built inside java that has the functionality to produce random numbers. By default Java, thus Android has no clue what Random means. Only when we import java.util.Random library, that it gets a clue.

Another benefit of importing is that you don't have to use the class extension everywhere. Instead of importing Random we could have written java.util.Random random = new java.util.Random();
This is perfectly valid in java. But imagine if we had to use Random 100 times inside the program. So when we import java.util.Random we simply use the name Random instead of the complete extension.

You may read more about packages and imports here Oracle Knowledge base

I've been following Ben's video's too, but i don't remember him saying just Ctrl+O, its in fact Ctrl + Shift + O or Cmd + Shift+ O in Mac

When we say organize / optimize imports it simply means, explicitly import those library files into our program that have not been set yet

I hope this helps.

Oliver Acevedo
Oliver Acevedo
4,338 Points

That makes perfect sense! Thanks for the explanation, I really appreciate it. I actually had an error one time because I didn't import a library file and actually imported it manually. I guess I could have just hit Ctrl + Shift + O instead!