PriorityQueue is not sorted. It is guaranteed that only the first element is "sorted" (PriorityQueue is specified only to return lowest element every time head is requested). The whole queue could be sorted, but this is not guaranteed.
So PriorityQueue iterator returns elements in any order, not in sorted order. Assuming sorted order is a common bug.
Thursday, December 15, 2016
Monday, November 21, 2016
++ operator on variable used multiple times in single line
Write the output of this code:
long l = 10;
System.out.println( "l " + l++ + "; " + l );
Result:
l 10; 11
long l = 10;
System.out.println( "l " + l++ + "; " + l );
Result:
l 10; 11
Friday, November 18, 2016
Tuesday, May 10, 2016
Java: Variables in interfaces
Concept of variables in interfaces is allowed in Java, but the concept is different. Variables defined in interfaces are always static and final.
Check this for more details.
Check this for more details.
Wednesday, May 4, 2016
Java syntax hack
These are equivalent code segments:
Hacky syntax:
Map map = new HashMap() {{
put("key", "value");
}};
Normal syntax:
Map map = new HashMap();
map.put("key", "value");
Decryption of encrypted syntax
First set of braces is the anonymous inner class (subclassing HashMap). The second set of braces is an instance initializer (rather than a static one) which then sets the values on your HashMap.Usages
This hacky syntax could be used gracefully when initializing a class member. This way you will avoid adding code to constructor(s) or in static initializer of the class.Anonymous class that “extends” other class or “implements” some interface in Java?
Anonymous classes in Java are defined in this way:
Syntax for implementing some interface:
Syntax for extending other class (is the same):
Syntax for implementing some interface:
Runnable r = new Runnable() {
public void run() { ... }
};
Syntax for extending other class (is the same):
SomeClass x = new SomeClass() {
...
};
Wednesday, March 16, 2016
BigDecimal
Tutorials:
1. http://www.javaworld.com/article/2075315/core-java/make-cents-with-bigdecimal.html
2. https://topic.alibabacloud.com/a/how-to-use-java-bigdecimala-tutorial__java_1_27_20230422.html
Discussions:
Double vs BigDecimal: http://stackoverflow.com/questions/3413448/double-vs-bigdecimal
Most important:
1. BigDecimals are immutable.
1. http://www.javaworld.com/article/2075315/core-java/make-cents-with-bigdecimal.html
2. https://topic.alibabacloud.com/a/how-to-use-java-bigdecimala-tutorial__java_1_27_20230422.html
Discussions:
Double vs BigDecimal: http://stackoverflow.com/questions/3413448/double-vs-bigdecimal
Most important:
1. BigDecimals are immutable.
Thursday, January 14, 2016
Brief view in JAX-RS (Java API for RESTful Web Services)
What is JAX-RS
Java API for RESTful Web Services (JAX-RS) is a Java
programming language API that provides support in creating web services
according to the Representational State Transfer (REST) architectural
pattern.
JAX-RS is an official part of Java EE 6.
JAX-RS is an official part of Java EE 6.
Annotations in JAX-RS
JAX-RS uses these annotations:
@Path
specifies the relative path for a resource class or method.@GET
,@PUT
,@POST
,@DELETE
and@HEAD
specify the HTTP request type of a resource.@Produces
specifies the response Internet media types (used for content negotiation).@Consumes
specifies the accepted request Internet media types.
@PathParam
binds the method parameter to a path segment.@QueryParam
binds the method parameter to the value of an HTTP query parameter.@MatrixParam
binds the method parameter to the value of an HTTP matrix parameter.@HeaderParam
binds the method parameter to an HTTP header value.@CookieParam
binds the method parameter to a cookie value.@FormParam
binds the method parameter to a form value.@DefaultValue
specifies a default value for the above bindings when the key is not found.@Context
returns the entire context of the object (for example@Context HttpServletRequest request
).
Subscribe to:
Posts (Atom)