djdibs's blog

By djdibs, history, 4 years ago, In English

Hello Guys,

I am a beginner in the Competitive Programming world and am using java, so can anyone help me so as to how to learn/master the language, what resources should be used any books, etc.

Thanks and regards, See you in the arena.

  • Vote: I like it
  • -6
  • Vote: I do not like it

| Write comment?
»
4 years ago, # |
  Vote: I like it +6 Vote: I do not like it

I am describing some things which I consider while solving problems with Java:

a). Use BufferedReader class or user defined FastReader class for fast I/O, instead of using Scanner class. You can see here for more info.

b). Prefer Java 8 over Java 11. Java 8 has slightly better throughput than Java 11. Still you can use anything, it won't affect your performance drastically.

c). Most importantly, master collection framework in Java. it helps you to use and manipulate data structures efficiently.

d). Use PrintWriter class for producing output in the console. It is much faster then the general System.out.print().

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Thanks for the information.

  • »
    »
    3 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Huu bro i also had seen fast scanner used by second thread can you explain this

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      It is just a custom template for fast I/O. It uses BufferedReader class but it is a bit different from defined BufferedReader class. All the functions for FastReader class are exactly same as normal Scanner input but because it uses BufferedReader class in it's implementation, it's execution is fast as compared to Scanner.

  • »
    »
    10 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hey,

    I have been using Java for quite a while, dont really know if I have mastered JCF.

    Can you tell how to "master" it?

»
4 years ago, # |
  Vote: I like it +9 Vote: I do not like it

I suggest you just start off by learning the minimum required basics, and learning other things as and when needed. Because there are many optimizations in Java that you won't learn in any programming course but only by experiencing them yourselves.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Can give some instances of what you are saying.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Using ArrayDeque over Stack and Queue is one that comes to mind

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    you can read book CP3 or CP4 by stevan falix halim those are master peices with codes both in JAVA and CPP

»
4 years ago, # |
Rev. 2   Vote: I like it +10 Vote: I do not like it

SecondThread has excellent video about Java setup for competitive programming. link

»
4 years ago, # |
  Vote: I like it +37 Vote: I do not like it

switch to C++, I used java for 2 years and C++ is a lot better

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hi, i am learning dsa in java from a course. After that i might try codeforces so was the switch tough, like how many days will it take to switch because sytnaxes are different and pointers,memory management etc. would be new. So could you guide how you sucessfully swithced

»
3 years ago, # |
  Vote: I like it +3 Vote: I do not like it

if you want, you can use my code:

code
»
3 years ago, # |
Rev. 2   Vote: I like it +5 Vote: I do not like it

tips to get better at java

1.u dont,use c++ instead

»
3 years ago, # |
  Vote: I like it +3 Vote: I do not like it

CF community has become so condescending these days, some person is new to CP and is asking for help/resources. Yet, I see 6 down-votes in this blog.

»
10 months ago, # |
  Vote: I like it 0 Vote: I do not like it

are you still alive brother