tag:blogger.com,1999:blog-34565328128739627322024-03-17T00:20:54.632-07:00Java Developers GuideJava Developers Guide is basic guide for IT Professionals, freshers and students.This blog provides tips and information about java,Struts,Spring,Hibernate and Web Services.javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.comBlogger175125tag:blogger.com,1999:blog-3456532812873962732.post-67797728687452411772020-04-30T04:57:00.002-07:002023-10-16T04:46:42.269-07:00Access Denied when calling the CreateInvalidation operation on AWS CLI.<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">If you are getting access denied when calling the CreateInvalidation operation on AWS CLI, it must be a permission issue for that user. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this post, I am using the Jenkins pipeline to build and pushing the artifacts into S3. I am using CloudFront for Content Delivery Network (CDN) and hosting my web site in Route 53. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">When I am trying to do the CloudFront Distribution invalidate the cache from CLI, I am getting this below error. I thought to add some screenshot to get more visibility, so added below.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Error Log:-</u></b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">A client error (AccessDenied) occurred when calling the CreateInvalidation operation: User: arn:aws:iam::xxxxxxxxxxx:user/yyyy is not authorized to perform: cloudfront:</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The below command I am using from AWS CLI :</span><br />
<br />
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace;">aws configure set preview.cloudfront true</span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace;">aws cloudfront create-invalidation --distribution-id UJH89JKKMOVY340 --paths "/*" </span> </blockquote>
<br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><u><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Resolution:-</span></u></b><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Add the "CreateInvalidation" permission to that user. Below are the steps to add the permission.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Goto <b>Identity and Access Management (IAM) </b></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Goto <b>Users</b> and find your username, here for me its "Jenkins"</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then add a new "Add Inline policy", below the screenshot</span>.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXxVxp8GCdd6_Lv22KGCc83QS4eslmT4yN5EWamrJ9ldP_mOQM0CEcLqle1bPa7dm8YsgkEP4-wdMLst7s0mJMmA67D2ZzkN4T68vD1ModGmWslWddH1HpCFPECk-7eXBMgjvdtsknMwTt/s1600/jenkins_user_policy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="654" data-original-width="1600" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXxVxp8GCdd6_Lv22KGCc83QS4eslmT4yN5EWamrJ9ldP_mOQM0CEcLqle1bPa7dm8YsgkEP4-wdMLst7s0mJMmA67D2ZzkN4T68vD1ModGmWslWddH1HpCFPECk-7eXBMgjvdtsknMwTt/s320/jenkins_user_policy.JPG" width="320" /></a></div>
<div>
<br /></div>
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now add the below policy into the JSON policy editor. Below the screenshot.</span></li>
</ul>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><u><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Policy JSON:-</span></u></b></div>
<div>
<br /></div>
<br />
<blockquote class="tr_bq">
{<br />
"Version": "2012-10-17",<br />
"Statement": [<br />
{<br />
"Sid": "VisualEditoro",<br />
"Effect": "Allow",<br />
"Action": "cloudfront:CreateInvalidation",<br />
"Resource": "arn:aws:cloudfront::17088938460999:distribution/<span style="font-family: "courier new" , "courier" , monospace;">UJH89JKKMOVY340</span>"<br />
}<br />
]<br />
}</blockquote>
<br />
<div>
<br /></div>
<div>
<b><u><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Sample Screenshot:-</span></u></b></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq1komyMB7AV1wjQyumbOVBAzPt3G_l6CAU01z1l4dOiGTC-UwF8gZVxtFRW-2par65-JB72X9Z0fxrZhusMGsnTD52FJhjHHpiv-2D6kw-x0d6cbg-beJCyIn_j6t5RK3QF6pp022Iz9T/s1600/distribution_policy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1600" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq1komyMB7AV1wjQyumbOVBAzPt3G_l6CAU01z1l4dOiGTC-UwF8gZVxtFRW-2par65-JB72X9Z0fxrZhusMGsnTD52FJhjHHpiv-2D6kw-x0d6cbg-beJCyIn_j6t5RK3QF6pp022Iz9T/s320/distribution_policy.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now, it's working fine. I can see the Jenkins logs below.</span></div>
<br />
<b><u>Jenkins Success Log:-</u></b><br />
<b><u><br /></u></b>
<span style="font-family: Courier New, Courier, monospace;">; perhaps you meant to use ‘PATH+EXTRA=/something/bin’?</span><br />
<span style="font-family: Courier New, Courier, monospace;">+ aws configure set preview.cloudfront true</span><br />
<span style="font-family: Courier New, Courier, monospace;">[Pipeline] sh</span><br />
<span style="font-family: Courier New, Courier, monospace;">Warning: JENKINS-41339 probably bogus PATH=/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node-v10.16.3-linux-x64/bin:/var/lib/jenkins/tools/hudson.model.JDK/JDK8-152/bin:$PATH:/usr/local/bin:$MAVEN_HOME/bin:/usr/local/bin:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn/bin:/usr/sbin:/usr/bin:/sbin:/bin; perhaps you meant to use ‘PATH+EXTRA=/something/bin’?</span><br />
<span style="font-family: Courier New, Courier, monospace;">+ aws cloudfront create-invalidation --distribution-id </span><span style="font-family: "courier new", courier, monospace;">UJH89JKKMOVY340 </span><span style="font-family: Courier New, Courier, monospace;">--paths '/*'</span><br />
<span style="font-family: Courier New, Courier, monospace;">{</span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Invalidation": {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Status": "InProgress", </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "InvalidationBatch": {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Paths": {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Items": [</span><br />
<span style="font-family: Courier New, Courier, monospace;"> "/*"</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ], </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Quantity": 1</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }, </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "CallerReference": "cli-1588239578-85708"</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }, </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Id": "I3HILN71CKWOV4", </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "CreateTime": "2020-04-30T09:39:38.919Z"</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }, </span><br />
<span style="font-family: Courier New, Courier, monospace;"> "Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/</span><span style="font-family: "courier new", courier, monospace;">UJH89JKKMOVY340</span><span style="font-family: Courier New, Courier, monospace;">/invalidation/I3HILN71CKWOV4"</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<br />
<br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div>
</div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> <a href="https://plus.google.com/u/0/118366889222322044227" target="_blank"><span style="color: red;">Google+</span></a></span><span style="color: red;"> </span>and <a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More:-</span></b></span></span></span></div>
</div>
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2020/04/how-to-get-access-key-id-and-secret.html" target="_blank">How to get aws access key id and secret access.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/06/is-not-authorized-to-perform.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">GetIntents Error for lex runtime</span></a></li>
</ul>
</div>
</div>
<br />
<div>
<br /></div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com12tag:blogger.com,1999:blog-3456532812873962732.post-56500057998498565072020-04-27T08:23:00.002-07:002023-10-16T04:53:10.941-07:00How to get access key id and secret access key of amazon user.<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">This key combination (<i>i.e. access key id and secret access key</i>) of aws will be useful everywhere when you need to access your aws services (Example - S3, EC2, etc). Its very simple to get the credentials for your user.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Goto to <b>Identity and Access Management (IAM)</b></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Click on Users (Left side of the page under <i>Access Management</i>)</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then click on your user name from the user list. You will be seeing the below screen.</span></li>
</ul>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD2ZvNqEM9gPRot4VaTpAu2qHVnQa5ewPBn6eXnFWwrqBYyT0E3tPmrGuHnNTGCf4XrQdizsW63vGorF4fwMJwAPha965EsAjELJgF80cQ9r8KexeuKf39D099qbF_9d33lADhaV25JcfP/s1600/user_aws.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><img border="0" data-original-height="717" data-original-width="1600" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD2ZvNqEM9gPRot4VaTpAu2qHVnQa5ewPBn6eXnFWwrqBYyT0E3tPmrGuHnNTGCf4XrQdizsW63vGorF4fwMJwAPha965EsAjELJgF80cQ9r8KexeuKf39D099qbF_9d33lADhaV25JcfP/s400/user_aws.JPG" width="400" /></span></a></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Click on "<b>Security and credentials</b>" and click on "<b>Create access key</b>" to creating the new access key and download the <b>.csv</b> file as per the below screenshot.</span></li>
</ul>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifxyoGJota_Fbjx8geJdA91F_rlHdPnZ9SrkCF5d9wrh3O9hU2L-PJx0BDwMg8DZNd9QfcWIS551Jgfjz40d82tMdipmPGTPeNKpk4eHJKUhciYV4m3lR_o4kEhfeX8pgum2-9GgEGpKE9/s1600/Access_key_created.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><img border="0" data-original-height="858" data-original-width="1600" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifxyoGJota_Fbjx8geJdA91F_rlHdPnZ9SrkCF5d9wrh3O9hU2L-PJx0BDwMg8DZNd9QfcWIS551Jgfjz40d82tMdipmPGTPeNKpk4eHJKUhciYV4m3lR_o4kEhfeX8pgum2-9GgEGpKE9/s320/Access_key_created.JPG" width="320" /></span></a></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now you can see your access key and secret access key looks like as below.</span></li>
<ul>
<li><div style="text-align: justify;">
<i><span style="font-family: "courier new" , "courier" , monospace;">Access key ID - AAKIASPHRAQWAKKLAR87</span></i></div>
<div style="text-align: justify;">
<i><span style="font-family: "courier new" , "courier" , monospace;">Secret access key - sZ+7JJKd++UjfjfuueFJV9pXXVDOv48xiBbm</span></i></div>
</li>
</ul>
</ul>
<div>
<div style="text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
</div>
<div style="text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div>
</div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> <a href="https://plus.google.com/u/0/118366889222322044227" target="_blank"><span style="color: red;">Google+</span></a></span><span style="color: red;"> </span>and <a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More:-</span></b></span></span></span></div>
</div>
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2020/04/access-denied-when-calling.html" target="_blank">AccessDenied for aws CreateInvalidation(CLI)</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a> </span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What is full stack development experience. </span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a> </span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/06/is-not-authorized-to-perform.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">GetIntents Error for lex runtime</span></a></li>
</ul>
</div>
</div>
<div style="text-align: left;">
</div>
</div>
<div style="text-align: left;">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 538px;"><colgroup><col style="mso-width-alt: 8097; mso-width-source: userset; width: 180pt;" width="240"></col><col style="mso-width-alt: 5537; mso-width-source: userset; width: 123pt;" width="164"></col><col span="2" style="width: 50pt;" width="67"></col></colgroup><tbody></tbody></table>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com3tag:blogger.com,1999:blog-3456532812873962732.post-29919460026260682382019-07-13T01:46:00.002-07:002023-10-16T22:20:03.784-07:00Find all palindrome strings in a java array.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to find all palindrome strings from an array. This is a very frequently asked questions in interview. Also there is a question to <a href="https://javadevelopersguide.blogspot.com/2019/07/find-all-possible-palindromes-in-array.html">find all palindrome number from an array</a>. Find few more <a href="https://javadevelopersguide.blogspot.com/search/label/Collections%20Interview%20Questions">collection interview question</a>. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">PalindromeStrings.java</span></b><br />
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></b>
<br />
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />/**<br /> * This program illustrates find all palindrome strings from array.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class PalindromeStrings {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>String stringArray[] = { "eye", "jdg", "javadevelopersguide", "aabaa", "hello", "pip" };<br /><span style="white-space: pre;"> </span>for (int i = 0; i < stringArray.length; i++) {<br /><span style="white-space: pre;"> </span>printOnlyPalindrom(stringArray[i]);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>private static void printOnlyPalindrom(String str) {<br /><span style="white-space: pre;"> </span>String oldString = str;<br /><span style="white-space: pre;"> </span>StringBuilder builder = new StringBuilder(str);<br /><span style="white-space: pre;"> </span>if (builder.reverse().toString().equals(oldString)) {<br /><span style="white-space: pre;"> </span>System.out.println(oldString + " is a Palindrome.");<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b>Output -</b></div>
<div>
<br /></div>
<div>
<blockquote class="tr_bq">
eye is a Palindrome String.<br />
aabaa is a Palindrome String.<br />
pip is a Palindrome String.</blockquote>
<br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Find the smallest value from array.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com29tag:blogger.com,1999:blog-3456532812873962732.post-84953719352618186012019-07-13T01:02:00.001-07:002019-07-13T01:02:17.548-07:00Find all possible palindromes in an array<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this article, we will see how to find all palindrome from an array. This is a very basic questions in interview, the interviewer will ask the same <a href="https://javadevelopersguide.blogspot.com/2019/07/find-number-is-palindrome-or-not.html">questions in different way</a>. So, its good to know all possible questions from palindrome. Also there is a question to find all palindrome number from a list. Find few more <a href="https://javadevelopersguide.blogspot.com/search/label/Collections%20Interview%20Questions">collection interview question</a>. Today we will see how to check a number is palindrome or not. </span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">FindAllPalindrome.java</span></b><br />
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></b>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />/**<br /> * This program illustrates find all palindrome from array.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class FindAllPalindrome {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>int numberArray[] = { 120, 990, 121, 777, 808, 1280 };<br /><span style="white-space: pre;"> </span>for (int i = 0; i < numberArray.length; i++) {<br /><span style="white-space: pre;"> </span>printOnlyPalindrom(numberArray[i]);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>private static void printOnlyPalindrom(int number) {<br /><span style="white-space: pre;"> </span>int finalNumber = 0;<br /><span style="white-space: pre;"> </span>int oldNumber = number;<br /><span style="white-space: pre;"> </span>// Repeat the loop until the number became zero.<br /><span style="white-space: pre;"> </span>while (number != 0) {<br /><span style="white-space: pre;"> </span>// Get the First Digit (i.e. 1)<br /><span style="white-space: pre;"> </span>int firstDigit = number % 10;<br /><span style="white-space: pre;"> </span>// Get the Result number.<br /><span style="white-space: pre;"> </span>finalNumber = (finalNumber * 10) + firstDigit;<br /><span style="white-space: pre;"> </span>// Now get the remaining digits , after finding the first digit<br /><span style="white-space: pre;"> </span>number = number / 10;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>// Now compare the finalNumber and oldNumber both are same or not.<br /><span style="white-space: pre;"> </span>if (finalNumber == oldNumber)<br /><span style="white-space: pre;"> </span>System.out.println(finalNumber + " is a Palindrome.");<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Output -</span></b></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">121 is a Palindrome.<br />777 is a Palindrome.<br />808 is a Palindrome.</span></blockquote>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Find the smallest value from array.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com2tag:blogger.com,1999:blog-3456532812873962732.post-89518270022905394632019-07-13T00:52:00.000-07:002019-07-13T00:52:30.341-07:00Find the number is palindrome or not<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to check if a number is palindrome or not. This is a very basic questions in interview. But, you never know about what kind of question the interviewer will ask. So, better you prepare for every certain questions. Also there is a question to find all palindrome number from a list. Find few more <a href="https://javadevelopersguide.blogspot.com/search/label/Collections%20Interview%20Questions">collection interview question</a>. Today we will see how to check a number is palindrome or not. </span><br />
<br />
<br />
<b>Palindrom.java</b><br />
<b><br /></b>
<b><br /></b>
<blockquote>
package com.javadevelopersguide.lab.basic;<br />/**<br /> * This program illustrates how to check a number is palindrome or not.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class Palindrom {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>int number = 121;<br /><span style="white-space: pre;"> </span>int temp = number;<br /><span style="white-space: pre;"> </span>int finalNumber = 0;<br /><span style="white-space: pre;"> </span>// Repeat the loop until the number became zero.<br /><span style="white-space: pre;"> </span>while (number != 0) {<br /><span style="white-space: pre;"> </span>// Get the First Digit (i.e. 1)<br /><span style="white-space: pre;"> </span>int firstDigit = number % 10;<br /><span style="white-space: pre;"> </span>// Get the Result number.<br /><span style="white-space: pre;"> </span>finalNumber = (finalNumber * 10) + firstDigit;<br /><span style="white-space: pre;"> </span>// Now get the remaining digits , after finding the first digit<br /><span style="white-space: pre;"> </span>number = number / 10;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>// Now compare the finalNumber and number both are same or not.<br /><span style="white-space: pre;"> </span>if (finalNumber == temp) {<br /><span style="white-space: pre;"> </span>System.out.println("This number is a Palindrome.");<br /><span style="white-space: pre;"> </span>} else {<br /><span style="white-space: pre;"> </span>System.out.println("This number is not a Palindrome.");<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br />}</blockquote>
<br />
<div>
<br /></div>
<div>
<b>Output -</b></div>
<div>
<br /></div>
<div>
<blockquote class="tr_bq">
This number is a Palindrome.</blockquote>
</div>
<div>
<br /></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Find the smallest value from array.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com10tag:blogger.com,1999:blog-3456532812873962732.post-64167700419740773972019-07-11T08:24:00.000-07:002019-07-11T08:24:56.670-07:00Find the duplicate strings in a list <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this article, we will see how to find the duplicate strings and their counts from an array or list using java. This is one of important programming questions in technical interview. In this program we have used Map and List both, so its a kind of collections interview questions. You can find few more <a href="https://javadevelopersguide.blogspot.com/search/label/Collections%20Interview%20Questions">collection interview question</a>. Today we will see Find the duplicate strings in a list. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The logic is very simple here, see the below.</span></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">At first we need we need to create a Map to hold the key-value pair. Where key is the array element and value is the counter for number of time the array element repeats.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Then we will iterate the array and put into the map as per the above step. If the map contains the element earlier, then we will update the value +1.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Finally we will have the map , which holds the array elements with the counter for repentance. </span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now, we will iterate the Map , by checking the condition where the counter is more than 1 (i.e. its duplicated or repeated).</span></li>
</ul>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></b>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">CountDuplicate.java</span></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Arrays;<br />import java.util.HashMap;<br />import java.util.Map;<br />import java.util.Map.Entry;<br />/**<br /> * This program illustrate how to find the number of duplicate Strings in a<br /> * List. Also, we can find the number of repeat for each duplicate String.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class CountDuplicate {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>ArrayList<String> list = new ArrayList<String>(<br /><span style="white-space: pre;"> </span>Arrays.asList("JDG", "AA", "AA", "JAVA", "JavaScript", "Java", "Stream", "hibernate", "Hibernate"));<br /><span style="white-space: pre;"> </span>System.out.println("Input List = " + list);<br /><span style="white-space: pre;"> </span>Map<String, Integer> map = new HashMap<String, Integer>();<br /><span style="white-space: pre;"> </span>for (int i = 0; i < list.size(); i++) {<br /><span style="white-space: pre;"> </span>if (map.isEmpty()) {<br /><span style="white-space: pre;"> </span>map.put(list.get(i).toUpperCase(), 1);<br /><span style="white-space: pre;"> </span>} else if (map.containsKey(list.get(i).toUpperCase())) {<br /><span style="white-space: pre;"> </span>map.put(list.get(i).toUpperCase(), map.get(list.get(i).toUpperCase()) + 1);<br /><span style="white-space: pre;"> </span>} else {<br /><span style="white-space: pre;"> </span>map.put(list.get(i).toUpperCase(), 1);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>int counter = 0;<br /><span style="white-space: pre;"> </span>for (Entry<String, Integer> entry : map.entrySet()) {<br /><span style="white-space: pre;"> </span>if (entry.getValue() > 1) {<br /><span style="white-space: pre;"> </span>counter++;<br /><span style="white-space: pre;"> </span>System.out.println("String Found " + entry.getKey() + " with count " + entry.getValue());<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>System.out.println("Total Duplicate String - " + counter);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<br /></div>
<div>
<b>Output -</b></div>
<div>
<br /></div>
<div>
<blockquote class="tr_bq">
Input List = [JDG, AA, AA, JAVA, JavaScript, Java, Stream, hibernate, Hibernate]<br />String Found AA with count 2<br />String Found JAVA with count 2<br />String Found HIBERNATE with count 2<br />Total Duplicate String - 3</blockquote>
</div>
<div>
<br /></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Find the smallest value from array.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com1tag:blogger.com,1999:blog-3456532812873962732.post-48618510382572915512019-07-11T04:52:00.001-07:002019-07-11T08:28:30.621-07:00How to find duplicate elements from array in Java<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to find the duplicate values from an array or list using java. This is one of important programming questions in technical interview. Each interviewer has different approach to access the candidate. But, the logic and the approach by candidate is really matter. In this program we have used Map and List both, so its a kind of collections interview questions. You can find few more <a href="https://javadevelopersguide.blogspot.com/search/label/Collections%20Interview%20Questions">collection interview question</a>. Today we will see how to find the duplicate values from array. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The logic is very simple here, see the below.</span></span><br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">At first we need we need to create a Map to hold the key-value pair. Where key is the array element and value is the counter for number of time the array element repeats.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then we will iterate the array and put into the map as per the above step. If the map contains the element earlier, then we will update the value +1.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Finally we will have the map , which holds the array elements with the counter for repentance. </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now, we will iterate the Map , by checking the condition where the counter is more than 1 (i.e. its duplicated or repeated).</span></li>
</ul>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">DuplicateFinder.java</span></b><br />
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></b>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Arrays;<br />import java.util.HashMap;<br />import java.util.Map;<br />import java.util.Map.Entry;<br />/**<br /> * This program illustrate to find the duplicate values in a List.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class DuplicateFinder {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(4, 3, 5, 25, 25, 25, 13, 5, 22, 4, 90));<br /><span style="white-space: pre;"> </span>System.out.println("List Date = " + list);<br /><span style="white-space: pre;"> </span>Map<Integer, Integer> map = new HashMap<Integer, Integer>();<br /><span style="white-space: pre;"> </span>for (int i = 0; i < list.size(); i++) {<br /><span style="white-space: pre;"> </span>if (map.isEmpty()) {<br /><span style="white-space: pre;"> </span>map.put(list.get(i), 1);<br /><span style="white-space: pre;"> </span>} else if (map.containsKey(list.get(i))) {<br /><span style="white-space: pre;"> </span>map.put(list.get(i), map.get(list.get(i)) + 1);<br /><span style="white-space: pre;"> </span>} else {<br /><span style="white-space: pre;"> </span>map.put(list.get(i), 1);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>System.out.println("\nDuplicate values are: ");<br /><span style="white-space: pre;"> </span>// Iterate the Map and display the duplicate values.<br /><span style="white-space: pre;"> </span>for (Entry<Integer, Integer> entry : map.entrySet()) {<br /><span style="white-space: pre;"> </span>if (entry.getValue() > 1) {<br /><span style="white-space: pre;"> </span>System.out.println(entry.getKey());<br /><span style="white-space: pre;"> </span>// TODO We can now put these values into any list.<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Output - </span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Input List Data = [4, 3, 5, 25, 25, 25, 13, 5, 22, 4, 90]<br />Duplicate values are:<br />4<br />5<br />25</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html">Find the smallest value from array.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-duplicate-strings-in-list.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Find the duplicate Strings and counts in a List.</span></a></li>
</ul>
</div>
<div>
<br /></div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com3tag:blogger.com,1999:blog-3456532812873962732.post-23603913129370360632019-07-11T04:16:00.002-07:002019-07-11T04:54:25.716-07:00Find the largest number from an array using java<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to find the largest number from an array using java. This is one of basic questions in technical interviews. Earlier post we had seen how to find the <a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html">smallest element from array</a>. </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now we will see how to find the largest number from integer array using java. </span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The logic is very simple here, see the below.</span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">At first we need to assume any element as largest value. Example - 0th location.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then iterate over the array and compare with each element , whether its larger than the assumed larger value or not. If array element is larger then assign the array element value to assumed variable. Repeat the entire until end. </span></li>
</ul>
<div class="tr_bq">
<br /></div>
<br />
<b>FindLarestNumerInArray.java</b><br />
<b><br /></b>
<br />
<blockquote>
<br />
package com.javadevelopersguide.lab.basic;<br />
/**<br />
* This program illustrate how to find the Largest number from an array.<br />
*<br />
* @author manoj.bardhan<br />
*<br />
*/<br />
public class FindLarestNumerInArray {<br />
<span style="white-space: pre;"> </span>// Find the largest value from an array.<br />
<span style="white-space: pre;"> </span>public static void main(String[] args) {<br />
<span style="white-space: pre;"> </span>int[] arr = { 200, 3, 4, 24, 33, 24, 22, 55, 90, 103, 150 };<br />
<span style="white-space: pre;"> </span>// Assume the largest value is 0th Index<br />
<span style="white-space: pre;"> </span>int largest = arr[0];<br />
<span style="white-space: pre;"> </span>for (int i = 0; i < arr.length - 1; i++) {<br />
<span style="white-space: pre;"> </span>if (arr[i] >= largest) {<br />
<span style="white-space: pre;"> </span>largest = arr[i];<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>System.out.println("Largest Number is ::" + largest);<br />
<span style="white-space: pre;"> </span>}<br />
}</blockquote>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b>Output - </b></div>
<div>
<br /></div>
<blockquote class="tr_bq">
Largest Number is ::200</blockquote>
<br />
<br />
<b>Using Java 8</b><br />
<br />
<blockquote class="tr_bq">
int largest = IntStream.of(arr).boxed().max(Comparator.naturalOrder()).get().intValue() ;</blockquote>
<br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html">Find the smallest value from array.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/how-to-find-duplicate-elements-from.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">How to find the duplicate element form list.</span></a></li>
</ul>
</div>
<div>
<br /></div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com1tag:blogger.com,1999:blog-3456532812873962732.post-60165185946870242592019-07-11T04:01:00.000-07:002019-07-11T04:01:01.727-07:00Find smallest number in array java<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to find the smallest number from an array using java. This is one of basic questions in technical interviews. Earlier post we had seen how to use <a href="https://javadevelopersguide.blogspot.com/2019/07/find-one-missing-number-from-list-of.html">stream for finding the missing number</a>. Now we will see how to find the smallest number from integer array using java. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The logic is very simple here, see the below.</span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">At first we need to assume the first smallest element.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then iterate over the array and compare with each element , whether its smaller than the assumed value or not. If array element is smaller then assign the array element value to assumed variable. Repeat the entire until end. </span></li>
</ul>
<br />
<b>FindSmallestNumberInArray.java</b><br />
<br />
<blockquote>
package com.javadevelopersguide.lab.basic;<br />/**<br /> * This program illustrate how to find the smallest number from an array.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class FindSmallestNumberInArray {<br /><span style="white-space: pre;"> </span>// Find the smallest value from an array.<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>int[] arr = { 200, 3, 4, 24, 33, 24, 22, 55, 90, 103, 150 };<br /><span style="white-space: pre;"> </span>// Assigning 0th index as first smallest number to proceed the program.<br /><span style="white-space: pre;"> </span>int smallest = arr[0];<br /><span style="white-space: pre;"> </span>for (int i = 0; i < arr.length - 1; i++) {<br /><span style="white-space: pre;"> </span>if (arr[i] <= smallest) {<br /><span style="white-space: pre;"> </span>smallest = arr[i];<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>System.out.println("Smallest Element is - " + smallest);<br /><span style="white-space: pre;"> </span>}<br />}</blockquote>
<div>
<b><br /></b>
<b>Output - </b><br />
<br />
<blockquote class="tr_bq">
Smallest Element is - 3 </blockquote>
</div>
<div>
<br /></div>
<div>
<b>Using Java 8</b></div>
<div>
<br /></div>
<blockquote class="tr_bq">
IntStream.of(arr).boxed().min(Comparator.naturalOrder()).get().intValue();</blockquote>
<br />
<br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Comparator Interface with Examples</span></a></li>
</ul>
</div>
<div>
<br /></div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-13566311888147998702019-07-10T02:47:00.000-07:002019-07-11T04:02:33.031-07:00Find the Missing Number in a list<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will see how to find the missing number from a list using java. This is one of important common interview question asked in interview. You can see, how to find all missing numbers from a list. In this program we will use core java or the traditional way using for loop for finding the miss number from a list. Earlier post we had seen how to use <a href="https://javadevelopersguide.blogspot.com/2019/07/find-one-missing-number-from-list-of.html">stream for finding the missing number</a>. Now we will see how to find one missing number using traditional core java style. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The logic is very simple here, see the below.</span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">At first we need to find the MAX number from the list. We need this MAX number because , we need to calculate the SUM of all natural number up to that max number. </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then , we need to calculate the sum of all those natural number.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Then we will subtract each element from the given list from </span><span style="font-family: "courier new" , "courier" , monospace;">sumOfNaturalNumbers</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now, the at the last the value inside </span><span style="font-family: "courier new" , "courier" , monospace;">sumOfNaturalNumbers </span>is the missing number.</li>
</ul>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">FindOneMissingNumber.java</span></b><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Arrays;<br />/**<br /> * This program finds the missing number from a list. This is only for one<br /> * missing number using core java before jdk 8.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class FindOneMissingNumber {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>ArrayList<Integer> numberList = new ArrayList<Integer>(<br /><span style="white-space: pre;"> </span>Arrays.asList(10, 3, 2, 4, 5, 6, 7, 9, 8, 14, 1, 11, 13));<br /><span style="white-space: pre;"> </span>int sumOfNaturalNumbers = getSumUptoMax(findMax(numberList));<br /><span style="white-space: pre;"> </span>for (int i = 0; i < numberList.size(); i++) {<br /><span style="white-space: pre;"> </span>/*<br /><span style="white-space: pre;"> </span> * Substract each elements from list from sumOfNaturalNumbers and<br /><span style="white-space: pre;"> </span> * the final value will be the missing.<br /><span style="white-space: pre;"> </span> */<br /><span style="white-space: pre;"> </span>sumOfNaturalNumbers = sumOfNaturalNumbers - numberList.get(i);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>int missingNumber = sumOfNaturalNumbers;<br /><span style="white-space: pre;"> </span>System.out.println("Missing Number is :: " + missingNumber);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>// Find the sum of all natural numbers up to limitNumber.<br /><span style="white-space: pre;"> </span>private static int getSumUptoMax(int limitNumber) {<br /><span style="white-space: pre;"> </span>int sum = 0;<br /><span style="white-space: pre;"> </span>for (int i = 1; i <= limitNumber; i++) {<br /><span style="white-space: pre;"> </span>sum = sum + i;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>return sum;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>// Find the greatest value from the list<br /><span style="white-space: pre;"> </span>private static int findMax(ArrayList<Integer> numberList) {<br /><span style="white-space: pre;"> </span>int largest = 0;<br /><span style="white-space: pre;"> </span>for (int i = 0; i < numberList.size() - 1; i++) {<br /><span style="white-space: pre;"> </span>if (numberList.get(i) >= largest) {<br /><span style="white-space: pre;"> </span>largest = numberList.get(i);<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>return largest;<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Output -</span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Missing Number is :: 12</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: xx-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: xx-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Find the smallest number in an array.</span></a></li>
</ul>
</div>
<div>
<br /></div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-48139444514659173502019-07-10T00:49:00.000-07:002019-07-11T04:03:14.651-07:00Find one missing number from a list of numbers<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this article, we will find the missing number from a list of numbers using java 8. This is one of important questions asked in interview. This program is to find the only one missing number. Check how to find all missing numbers from a list. In this program we will use only java 8 stream to find the missing number. Earlier post we had seen <a href="https://javadevelopersguide.blogspot.com/2019/07/write-program-to-sort-employee-by-name.html">how to use stream to sort the employee</a>. Check more how <a href="https://javadevelopersguide.blogspot.com/2019/07/find-missing-number-in-list.html">find one missing number using traditional core java style</a>. </span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>FindMissingNumber.java</b></span><br />
<br />
<blockquote class="tr_bq">
package com.javadevelopersguide.lab.basic;<br />
import java.util.ArrayList;<br />
import java.util.Arrays;<br />
import java.util.Comparator;<br />
import java.util.stream.IntStream;<br />
/**<br />
* This program finds the missing number from a list. This is only for one<br />
* missing number. Used the java 8 for this program.<br />
*<br />
* @author manoj.bardhan<br />
*<br />
*/<br />
public class FindMissingNumber {<br />
<span style="white-space: pre;"> </span>public static void main(String[] args) {<br />
<span style="white-space: pre;"> </span>ArrayList<Integer> numberList = new ArrayList<Integer>(Arrays.asList(1, 3, 2, 4, 5, 6, 7, 9, 10));<br />
<span style="white-space: pre;"> </span>// Get the Max value from the List.<br />
<span style="white-space: pre;"> </span>int maxValue = numberList.stream().max(Comparator.naturalOrder()).get().intValue();<br />
<span style="white-space: pre;"> </span>// Get sum of all natural numbers - upto the above maxvalue<br />
<span style="white-space: pre;"> </span>int sumOfAllNumber = IntStream.range(1, maxValue + 1).sum();<br />
<span style="white-space: pre;"> </span>// Get the sum of all number inside List.<br />
<span style="white-space: pre;"> </span>int sumofList = numberList.stream().mapToInt(Integer::intValue).sum();<br />
<span style="white-space: pre;"> </span>// Now print the missing number.<br />
<span style="white-space: pre;"> </span>System.out.println("The Missing Number is:: " + (sumOfAllNumber - sumofList));<br />
<span style="white-space: pre;"> </span>}<br />
}</blockquote>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b>Output - </b></div>
<div>
<br /></div>
<blockquote class="tr_bq">
The Missing Number is:: 8</blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Find the smallest number in an array.</span></a></li>
</ul>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com5tag:blogger.com,1999:blog-3456532812873962732.post-45853723141132198462019-07-08T12:58:00.000-07:002019-07-11T04:03:35.063-07:00Write a program to sort the employee by name, age using JDK 8<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">This program for writing a program to sort the employee by name and age using JDK 8. Java 8 introduced many out of box features for developers. The comparator in java 8 is marked as @FunctionalInterface, and it provide a cleaner way to develop your code. We had already discussed <a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">how the Comparator<T> interface works</a> before java 8. </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this post, we will use the stream api with comparator.</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> </span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>Employee.java</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />/**<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class Employee {<br /><span style="white-space: pre;"> </span>private String name;<br /><span style="white-space: pre;"> </span>private int age;<br /><span style="white-space: pre;"> </span>private String department;<br /><span style="white-space: pre;"> </span>public Employee(String name, int age, String department) {<br /><span style="white-space: pre;"> </span>super();<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public String toString() {<br /><span style="white-space: pre;"> </span>return "\n Employee [name=" + name + ", age=" + age + ", department=" + department + "]";<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getName() {<br /><span style="white-space: pre;"> </span>return name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setName(String name) {<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public int getAge() {<br /><span style="white-space: pre;"> </span>return age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setAge(int age) {<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getDepartment() {<br /><span style="white-space: pre;"> </span>return department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setDepartment(String department) {<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now we will create an action or main method to use the above POJA class for sorting.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>SortEmployeeWithStream.java</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Comparator;<br />import java.util.stream.Collectors;<br />/**<br /> * This program illustrates sort custom fields using JDK 8 (Stream & Comparator)<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class SortEmployeeWithStream {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>Employee1 e1 = new Employee1("Ander Koli", 32, "Sales");<br /><span style="white-space: pre;"> </span>Employee1 e2 = new Employee1("Andrew Smith", 23, "Sales");<br /><span style="white-space: pre;"> </span>Employee1 e3 = new Employee1("David Jone", 52, "Sales");<br /><span style="white-space: pre;"> </span>Employee1 e4 = new Employee1("Cuba Station", 23, "Marketing");<br /><span style="white-space: pre;"> </span>Employee1 e5 = new Employee1("Bradley Head", 23, "Marketing");<br /><span style="white-space: pre;"> </span>Employee1 e6 = new Employee1("Peter Parker", 34, "Sales");<br /><span style="white-space: pre;"> </span>// Create an arraylist and add all the employee object into that list.<br /><span style="white-space: pre;"> </span>ArrayList<Employee1> employeeList = new ArrayList<Employee1>();<br /><span style="white-space: pre;"> </span>employeeList.add(e1);<br /><span style="white-space: pre;"> </span>employeeList.add(e2);<br /><span style="white-space: pre;"> </span>employeeList.add(e3);<br /><span style="white-space: pre;"> </span>employeeList.add(e4);<br /><span style="white-space: pre;"> </span>employeeList.add(e5);<br /><span style="white-space: pre;"> </span>employeeList.add(e6);<br /><span style="white-space: pre;"> </span>System.out.println("Employee list before sorting -\n" + employeeList);<br /><span style="white-space: pre;"> </span>ArrayList<Employee1> sortedList = (ArrayList) employeeList.stream()<br /><span style="white-space: pre;"> </span>.sorted(Comparator.comparing(Employee1::getName).thenComparing(Employee1::getAge))<br /><span style="white-space: pre;"> </span>.collect(Collectors.toList());<br /><span style="white-space: pre;"> </span>System.out.println("Employee list after sorting -\n" + sortedList);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>Output-</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Employee list before sorting -<br />[<br /> Employee1 [name=Ander Koli, age=32, department=Sales],<br /> Employee1 [name=Andrew Smith, age=23, department=Sales],<br /> Employee1 [name=David Jone, age=52, department=Sales],<br /> Employee1 [name=Cuba Station, age=23, department=Marketing],<br /> Employee1 [name=Bradley Head, age=23, department=Marketing],<br /> Employee1 [name=Peter Parker, age=34, department=Sales]]<br />Employee list after sorting -<br />[<br /> Employee1 [name=Ander Koli, age=32, department=Sales],<br /> Employee1 [name=Andrew Smith, age=23, department=Sales],<br /> Employee1 [name=Bradley Head, age=23, department=Marketing],<br /> Employee1 [name=Cuba Station, age=23, department=Marketing],<br /> Employee1 [name=David Jone, age=52, department=Sales],<br /> Employee1 [name=Peter Parker, age=34, department=Sales]]</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The </span><span style="background-color: #eeeeee; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Comparator.comparing</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> and </span><i style="background-color: #eeeeee; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html">thenComparing</a> </i><i style="background-color: white; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;"> </i><span style="background-color: white;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">two static methods inside </span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html" style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;">Comparator</a><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">. As we know </span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html" style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;">Comparator</a><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> is a Functional interface which provides default and static methods along with implementation. </span><i><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> These functional interfaces are giving out of box functionality. <a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">See how before java 8 with Comparator interface examples.</a></span></i></span><br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Also we can achieve the above sorting by creating multiple different comparators , which we can use when we need. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">We have created two comparator as <i>compareByAge</i>, <i>CompareByDept</i> . Now we can use those comparators at any place we need along with stream. Below sample code snippet shows the usages. Read these reference documents for more about <a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">stream</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html">comparator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">functions</a>, <a href="https://www.oracle.com/technetwork/java/javase/documentation/index.html">jdk 8 features</a>.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Comparator<Employee1> compareByAge = Comparator.comparing(Employee1::getAge);<br /><span style="white-space: pre;"> </span>Comparator<Employee1> compareByDept = Comparator.comparing(Employee1::getDepartment);<br /><span style="white-space: pre;"> </span>ArrayList<Employee1> sortedList = (ArrayList) employeeList.stream()<br /><span style="white-space: pre;"> </span>.sorted(compareByAge.thenComparing(compareByDept)).collect(Collectors.toList());</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<br />
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a>.</span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Find the smallest number in an array.</span></a></li>
</ul>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com1tag:blogger.com,1999:blog-3456532812873962732.post-90811161535631344182019-07-08T11:47:00.004-07:002019-07-11T04:04:26.884-07:00Java Comparator Example for custom sorting by employee age and department <div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">This program illustrates , how to sort custom object using Comparator<T>. We have used Employee list to sort by age and department. As per the default ordering it will follow the natural ordering.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The below <i>Employee</i> class is our POJO , we will use this class to sort the employee list by age and department.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Employee.java</span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />/**<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class Employee {<br /><span style="white-space: pre;"> </span>private String name;<br /><span style="white-space: pre;"> </span>private int age;<br /><span style="white-space: pre;"> </span>private String department;<br /><span style="white-space: pre;"> </span>public Employee(String name, int age, String department) {<br /><span style="white-space: pre;"> </span>super();<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public String toString() {<br /><span style="white-space: pre;"> </span>return "\n Employee [name=" + name + ", age=" + age + ", department=" + department + "]";<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getName() {<br /><span style="white-space: pre;"> </span>return name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setName(String name) {<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public int getAge() {<br /><span style="white-space: pre;"> </span>return age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setAge(int age) {<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getDepartment() {<br /><span style="white-space: pre;"> </span>return department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setDepartment(String department) {<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now, we need to create a comparator to compare two same objects. We can create as many comparators by implementing each field/attributes of the POJO. Its purely business requirement, how you need your sorting functionality. Here we need the sorting based on the employee age and employee department.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">EmployeeAgeComparator.java</span></b></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></b></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.Comparator;<br />/**<br /> * EmployeeAgeComparator is a comparator by Age.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeAgeComparator implements Comparator<Employee> {<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public int compare(Employee emp1, Employee emp2) {<br /><span style="white-space: pre;"> </span>return emp1.getAge() - emp2.getAge();<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">EmployeeDeptComparator.java</span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.Comparator;<br />/**<br /> * EmployeeDeptComparator is comparator by department.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeDeptComparator implements Comparator<Employee> {<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public int compare(Employee emp1, Employee emp2) {<br /><span style="white-space: pre;"> </span>// Internally for comparing String we need to use compareTo()<br /><span style="white-space: pre;"> </span>return emp1.getDepartment().compareTo(emp2.getDepartment());<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In the above we created two comparator for age and department. Now, we need to action on our comparators. We will call our newly created comparator from <i>main()</i> and see the result. Below <i>EmployeeComparatorExample</i> class show the comparator in action.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">EmployeeComparatorExample.java</span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Collections;<br />/**<br /> * This program illustrates the simple use of Comparator<t> interface.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeComparatorExample {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>Employee e1 = new Employee("Matt Kuban", 32, "IT");<br /><span style="white-space: pre;"> </span>Employee e2 = new Employee("Andrew Smith", 42, "HR");<br /><span style="white-space: pre;"> </span>Employee e3 = new Employee("Butler Jason", 52, "HR");<br /><span style="white-space: pre;"> </span>Employee e4 = new Employee("Miss Linda", 35, "HR");<br /><span style="white-space: pre;"> </span>Employee e5 = new Employee("Bradley Head", 23, "IT");<br /><span style="white-space: pre;"> </span>Employee e6 = new Employee("Peter Parker", 34, "ADMIN");<br /><span style="white-space: pre;"> </span>// Create an arraylist and add all the employee object into that list.<br /><span style="white-space: pre;"> </span>ArrayList<Employee> employeeList = new ArrayList<Employee>();<br /><span style="white-space: pre;"> </span>employeeList.add(e1);<br /><span style="white-space: pre;"> </span>employeeList.add(e2);<br /><span style="white-space: pre;"> </span>employeeList.add(e3);<br /><span style="white-space: pre;"> </span>employeeList.add(e4);<br /><span style="white-space: pre;"> </span>employeeList.add(e5);<br /><span style="white-space: pre;"> </span>employeeList.add(e6);<br /><span style="white-space: pre;"> </span>System.out.println("Employee Before Sort ::" + employeeList);<br /><span style="white-space: pre;"> </span>// Using EmployeeAgeComparator - to sort the employee by Age<br /><span style="white-space: pre;"> </span>EmployeeAgeComparator ageComparator = new EmployeeAgeComparator();<br /><span style="white-space: pre;"> </span>Collections.sort(employeeList, ageComparator);<br /><span style="white-space: pre;"> </span>// Using EmployeeDeptComparator - to sort the employee by Department<br /><span style="white-space: pre;"> </span>EmployeeDeptComparator deptComparator = new EmployeeDeptComparator();<br /><span style="white-space: pre;"> </span>Collections.sort(employeeList, deptComparator);<br /><span style="white-space: pre;"> </span>System.out.println("Employee After Sort ::" + employeeList);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Output :- </span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Employee Before Sort ::[<br /> Employee [name=Matt Kuban, age=32, department=IT],<br /> Employee [name=Andrew Smith, age=42, department=HR],<br /> Employee [name=Butler Jason, age=52, department=HR],<br /> Employee [name=Miss Linda, age=35, department=HR],<br /> Employee [name=Bradley Head, age=23, department=IT],<br /> Employee [name=Peter Parker, age=34, department=ADMIN]]</span></blockquote>
<br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Employee After Sort ::[<br /> Employee [name=Peter Parker, age=34, department=ADMIN],<br /> Employee [name=Miss Linda, age=35, department=HR],<br /> Employee [name=Andrew Smith, age=42, department=HR],<br /> Employee [name=Butler Jason, age=52, department=HR],<br /> Employee [name=Bradley Head, age=23, department=IT],<br /> Employee [name=Matt Kuban, age=32, department=IT]]</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<div>
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<br />
<ul style="text-align: left;">
<li><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Java 8 use Option - avoid NullPointerException</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Producer & Consumer problem solution using BlockingQueue.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">Write your first groovy program</a><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html">.</a> </span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Top 10 groovy interview question.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Difference between groovy and java.</span></a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">What is full stack development experience. </span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html">5 fundamental questions of groovy.</a> </span></li>
<li><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Write your first java program.</span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/write-program-to-sort-employee-by-name.html">Java 8 Comparator::comparing examples.</a></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-smallest-number-in-array-java.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Find the smallest number in an array.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-57473944084785629902019-07-08T11:31:00.000-07:002019-07-08T11:31:05.381-07:00Comparator Interface with Examples<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this article we will see what is <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html">Comparable<T></a> interface ? How to use this interface with some sample examples ?</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The Comparator interface is present inside java.util package. Its comparison function, which imposes a total ordering on some collection of objects. Its mostly used while sorting a collection of objects. Means, it compares its two arguments for order. Returns a negative integer,zero, or a positive integer as the first argument is less than, equal to, or greater than the second one.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The Comparators can be passed to a sort method (i.e. Collections.sort or Arrays.sort) to allow precise control over the sorting order. Comparators can also be used to control the order of certain data structures (such as sorted sets or sorted maps), or to provide an ordering for collections of objects that don't have a natural ordering.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This interface has one important method (<i>Before JDK 8</i>) -</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">int compare(T o1, T o2);</span></blockquote>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The below <i>Employee</i> class is our POJO , we will use this class to sort the employee list by age and department.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Employee.java</span></b></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />/**<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class Employee {<br /><span style="white-space: pre;"> </span>private String name;<br /><span style="white-space: pre;"> </span>private int age;<br /><span style="white-space: pre;"> </span>private String department;<br /><span style="white-space: pre;"> </span>public Employee(String name, int age, String department) {<br /><span style="white-space: pre;"> </span>super();<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public String toString() {<br /><span style="white-space: pre;"> </span>return "\n Employee [name=" + name + ", age=" + age + ", department=" + department + "]";<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getName() {<br /><span style="white-space: pre;"> </span>return name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setName(String name) {<br /><span style="white-space: pre;"> </span>this.name = name;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public int getAge() {<br /><span style="white-space: pre;"> </span>return age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setAge(int age) {<br /><span style="white-space: pre;"> </span>this.age = age;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getDepartment() {<br /><span style="white-space: pre;"> </span>return department;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setDepartment(String department) {<br /><span style="white-space: pre;"> </span>this.department = department;<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now, we need to create a comparator to compare two same objects. We can create as many comparators by implementing each field/attributes of the pojo. Its purely business requirement, how you need your sorting functionality. Here we need the sorting based on the employee age and employee department.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">EmployeeAgeComparator.java</span></b></div>
</div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></b></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.Comparator;<br />/**<br /> * EmployeeAgeComparator is a comparator by Age.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeAgeComparator implements Comparator<Employee> {<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public int compare(Employee emp1, Employee emp2) {<br /><span style="white-space: pre;"> </span>return emp1.getAge() - emp2.getAge();<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">EmployeeDeptComparator.java</span></b></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.Comparator;<br />/**<br /> * EmployeeDeptComparator is comparator by department.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeDeptComparator implements Comparator<Employee> {<br /><span style="white-space: pre;"> </span>@Override<br /><span style="white-space: pre;"> </span>public int compare(Employee emp1, Employee emp2) {<br /><span style="white-space: pre;"> </span>// Internally for comparing String we need to use compareTo()<br /><span style="white-space: pre;"> </span>return emp1.getDepartment().compareTo(emp2.getDepartment());<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In the above we created two comparator for age and department. Now, we need to action on our comparators. We will call our newly created comparator from main() and see the result. Below EmployeeComparatorExample class show the comparator in action.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">EmployeeComparatorExample.java</span></b></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.lab.basic;<br />import java.util.ArrayList;<br />import java.util.Collections;<br />/**<br /> * This program illustrates the simple use of Comparator<t> interface.<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class EmployeeComparatorExample {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>Employee e1 = new Employee("Matt Kuban", 32, "IT");<br /><span style="white-space: pre;"> </span>Employee e2 = new Employee("Andrew Smith", 42, "HR");<br /><span style="white-space: pre;"> </span>Employee e3 = new Employee("Butler Jason", 52, "HR");<br /><span style="white-space: pre;"> </span>Employee e4 = new Employee("Miss Linda", 35, "HR");<br /><span style="white-space: pre;"> </span>Employee e5 = new Employee("Bradley Head", 23, "IT");<br /><span style="white-space: pre;"> </span>Employee e6 = new Employee("Peter Parker", 34, "ADMIN");<br /><span style="white-space: pre;"> </span>// Create an arraylist and add all the employee object into that list.<br /><span style="white-space: pre;"> </span>ArrayList<Employee> employeeList = new ArrayList<Employee>();<br /><span style="white-space: pre;"> </span>employeeList.add(e1);<br /><span style="white-space: pre;"> </span>employeeList.add(e2);<br /><span style="white-space: pre;"> </span>employeeList.add(e3);<br /><span style="white-space: pre;"> </span>employeeList.add(e4);<br /><span style="white-space: pre;"> </span>employeeList.add(e5);<br /><span style="white-space: pre;"> </span>employeeList.add(e6);<br /><span style="white-space: pre;"> </span>System.out.println("Employee Before Sort ::" + employeeList);<br /><span style="white-space: pre;"> </span>// Using EmployeeAgeComparator - to sort the employee by Age<br /><span style="white-space: pre;"> </span>EmployeeAgeComparator ageComparator = new EmployeeAgeComparator();<br /><span style="white-space: pre;"> </span>Collections.sort(employeeList, ageComparator);<br /><span style="white-space: pre;"> </span>// Using EmployeeDeptComparator - to sort the employee by Department<br /><span style="white-space: pre;"> </span>EmployeeDeptComparator deptComparator = new EmployeeDeptComparator();<br /><span style="white-space: pre;"> </span>Collections.sort(employeeList, deptComparator);<br /><span style="white-space: pre;"> </span>System.out.println("Employee After Sort ::" + employeeList);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Output :- </span></b></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Employee Before Sort ::[<br /> Employee [name=Matt Kuban, age=32, department=IT],<br /> Employee [name=Andrew Smith, age=42, department=HR],<br /> Employee [name=Butler Jason, age=52, department=HR],<br /> Employee [name=Miss Linda, age=35, department=HR],<br /> Employee [name=Bradley Head, age=23, department=IT],<br /> Employee [name=Peter Parker, age=34, department=ADMIN]]</span></blockquote>
<br />
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Employee After Sort ::[<br /> Employee [name=Peter Parker, age=34, department=ADMIN],<br /> Employee [name=Miss Linda, age=35, department=HR],<br /> Employee [name=Andrew Smith, age=42, department=HR],<br /> Employee [name=Butler Jason, age=52, department=HR],<br /> Employee [name=Bradley Head, age=23, department=IT],<br /> Employee [name=Matt Kuban, age=32, department=IT]]</span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">JAVA 8 </span></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In JDK 8, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html">Comparator<T> </a>is functional Interface. Its annotated with @<a href="eclipse-javadoc:%E2%98%82=JDGuideLab/C:%5C/Program%20Files%5C/Java%5C/jdk1.8.0_161%5C/jre%5C/lib%5C/rt.jar%3Cjava.lang(FunctionalInterface.class%E2%98%83FunctionalInterface">FunctionalInterface</a> and this comparator interface has added few more default & static methods. As its a functional interface therefore its will be used as the assignment target for a lambda expression or method reference.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Below are few examples :-</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">default Comparator<T> reversed()<br />default Comparator<T> thenComparing(Comparator<? super T> other)<br />default <U> Comparator<T> thenComparing(<br /> Function<? super T, ? extends U> keyExtractor,<br /> Comparator<? super U> keyComparator)<br />default <U extends Comparable<? super U>> Comparator<T> thenComparing(<br /> Function<? super T, ? extends U> keyExtractor)<br />default Comparator<T> thenComparingInt(ToIntFunction<? super T> keyExtractor)</span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Here is the full list of methods added into <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html">Comparator<T></a> . We can use stream api of java 8 with lambda expression to implements comparator interface. We will see in the next subsequent posts on lambda expression and stream api.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<ul style="font-size: medium;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html" target="_blank">Producer & Consumer problem solution using BlockingQueue.</a></span></li>
<li><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
</ul>
</div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br />
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com1tag:blogger.com,1999:blog-3456532812873962732.post-10603170168691599482019-07-02T09:10:00.000-07:002019-07-02T09:10:19.607-07:00Find the nearest place by using postcode or zipcode.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In the <a href="https://javadevelopersguide.blogspot.com/2019/07/how-to-get-current-location-latitude.html" target="_blank">previous post</a> we had seen <a href="https://javadevelopersguide.blogspot.com/2019/07/how-to-get-current-location-latitude.html" target="_blank">how to get the current location (latitude and longitude)</a> using java script. Today we will use that functionality to get the nearby search using <a href="https://developers.google.com/maps/documentation/" target="_blank">Google API</a>. We usually do the search the near by restaurants , ATM, airport, book store , medicine store ,etc. By the way we need this everyday in our daily life. </span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">We sometimes search the specific place or location by using the zipcode or pincode. Google API provide many features for <a href="https://developers.google.com/maps/documentation/" target="_blank">Places</a>, <a href="https://developers.google.com/maps/documentation/" target="_blank">Routes</a> and <a href="https://developers.google.com/maps/documentation/" target="_blank">Map</a>. Today we will find the nearest "resturants" by using a zip code or postcode. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">We have used <a href="https://developers.google.com/maps/documentation/javascript/places">google.maps.places</a> and <a href="https://developers.google.com/maps/documentation/geocoding/intro">google.maps.geocoder</a> in our example above. We have used geocoder , it is the process of converting addresses (like a street address) into geographic coordinates (like latitude and longitude), which you can use to place markers on a map, or position the map.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><u><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">zipcodefind.html</span></u></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><html><br /><head><br /> <style><br /> html,<br /> body,<br /> #map-canvas {<br /> height: 100%;<br /> margin: 0px;<br /> padding: 0px<br /> }<br /> </style><br /> <script<br /> src="https://maps.googleapis.com/maps/api/js?libraries=places&key=<a href="https://developers.google.com/maps/documentation/embed/get-api-key" target="_blank">YOUR_API_KEY</a>"></script><br /> <br /> <br /> <br /> <script language="javascript"><br /> var map;<br /> var infowindow;<br /> function initialize() {<br /> var geocoder = new google.maps.Geocoder();<br /> var zipcode = document.getElementById('zipcode').value;<br /> geocoder.geocode({<br /> 'address': zipcode, componentRestrictions: { country: 'IN' }<br /> }, function (results, status) {<br /> if (status === 'OK') {<br /> var latLong = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());<br /> console.log("Co-ordinates are::" + latLong);<br /> map = new google.maps.Map(document.getElementById('map-canvas'), {<br /> center: latLong,<br /> zoom: 15<br /> });<br /> var request = {<br /> location: latLong,<br /> radius: 1000,<br /> types: ['car_repair']<br /> };<br /> infowindow = new google.maps.InfoWindow();<br /> var service = new google.maps.places.PlacesService(map);<br /> service.nearbySearch(request, callback);<br /> } else {<br /> alert('Search was not successful for the following reason: ' + status);<br /> }<br /> });<br /> }<br /> function callback(results, status) {<br /> if (status == google.maps.places.PlacesServiceStatus.OK) {<br /> for (var i = 0; i < results.length; i++) {<br /> createMarker(results[i]);<br /> }<br /> }<br /> }<br /> function createMarker(place) {<br /> var placeLoc = place.geometry.location;<br /> var marker = new google.maps.Marker({<br /> map: map,<br /> position: place.geometry.location<br /> });<br /> google.maps.event.addListener(marker, 'click', function () {<br /> infowindow.setContent(place.name);<br /> infowindow.open(map, this);<br /> });<br /> } <br /> </script><br /></head><br /><body><br /> <div id="map-canvas" style="width: 50%; float:right"></div><br /> <div style="width: 50%; float:left;padding-top: 20px;"><br /> <input id="zipcode" type="textbox" value="560078"><br /> <input id="submit" type="button" value="Get Nearby Search by Postcode" onclick="initialize()"><br /> <br><br /> <span style="font-size: small">In this example we have used country <b>India</b>, and search type is <b>Resturants</b> </span><br /> </div><br /></body><br /></html></span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now we will open this html file on browser as below screenshot. We have used marker for marking the near by place "<i>resturants</i>" for the given postcode. There are many supported <a href="https://developers.google.com/places/supported_types">place type</a> google provides.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFvzZBn3T0Ewvkka5ETXsRLf-bxtK2qc53whNi83gwfSuNdCIP-Rwl5N59HfVje_6LZZg8znHgdPEi_KuakKwOnPW5CxfwL03xcZXKNOoaG6OXhizZ4LI129daUyksH6wQKEx3Eu2jPSHm/s1600/Location_by_postcode.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="182" data-original-width="765" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFvzZBn3T0Ewvkka5ETXsRLf-bxtK2qc53whNi83gwfSuNdCIP-Rwl5N59HfVje_6LZZg8znHgdPEi_KuakKwOnPW5CxfwL03xcZXKNOoaG6OXhizZ4LI129daUyksH6wQKEx3Eu2jPSHm/s400/Location_by_postcode.PNG" width="400" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifY8mm6CUK5cXaSyTorFIh6CXfmcfn7_fDtdT1YYF9xiV2Zque2xfohUd25aBJfn_8vDk5E9ieSOa9NoxTFdxBmorOxZVMKXBVWz-26AWM6VuBOqPiwYiNtp9aZVWN7Vy4Ar8tGgEbmqqR/s1600/Resturants.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="919" data-original-width="961" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifY8mm6CUK5cXaSyTorFIh6CXfmcfn7_fDtdT1YYF9xiV2Zque2xfohUd25aBJfn_8vDk5E9ieSOa9NoxTFdxBmorOxZVMKXBVWz-26AWM6VuBOqPiwYiNtp9aZVWN7Vy4Ar8tGgEbmqqR/s400/Resturants.PNG" width="400" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCAe-LGfpx1XMQws7eTYjCkjVt4WCkaZmmg1-V2wyNqa4tNxR5UtrEpWVpM9zUo5UlelAEvz-Qc5liOfqj-p00IO74xUgFH8DwMBDP68i574dNDgHZQKkMAUmIsrtX10GtNLiJDjik18DS/s1600/map_location.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="813" data-original-width="1600" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCAe-LGfpx1XMQws7eTYjCkjVt4WCkaZmmg1-V2wyNqa4tNxR5UtrEpWVpM9zUo5UlelAEvz-Qc5liOfqj-p00IO74xUgFH8DwMBDP68i574dNDgHZQKkMAUmIsrtX10GtNLiJDjik18DS/s400/map_location.PNG" width="400" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this example we have restricted the search inside <i>India</i>. But there are other country codes i.e. AU which is also supported. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">componentRestrictions: { country: 'IN' }</span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Find few reference documents below:-</span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://developers.google.com/places/web-service/details">Web service details</a></span></li>
<li><a href="https://developers.google.com/maps/documentation/embed/get-api-key">Get Api key</a></li>
<li><a href="https://developers.google.com/maps/documentation/streetview/intro">Streetview</a></li>
<li><a href="https://developers.google.com/places/web-service/search">Place search</a></li>
<li><a href="https://developers.google.com/maps/documentation/geocoding/intro">Geocoding</a></li>
</ul>
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="color: black; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: 10pt;">Happy Learning. </span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div>
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span>
<ul>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2012/05/j2ee-set-print-area-in-jsphtml-page-for.html" target="_blank"><u>How to set print area in JSP/HTML page for printer</u> </a></span></span></span></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2012/05/htmljavascript-creating-window-in.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to create a window in java script.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2012/04/javascript-password-validation-with.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to validate password using regular expression.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2011/12/facebook-link-integration-to-your.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to integrate facebook link in you website.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/how-to-get-current-location-latitude.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to get the current location using javascript.</span></a></li>
</ul>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-90846231865330909402019-07-01T10:42:00.000-07:002019-07-09T23:40:19.232-07:00Top 5 interview questions on BlockingQueue<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><br /></b></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>1) What is BlockingQueue ? Under which package of JDK its available ?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><br /></b></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans- A blocking queue is an interface. <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html" target="_blank">BlockingQueue</a> implementations are thread-safe. It helps to handle multi threaded execution , specially its for producer and consumer problem.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The queue that blocks when you try to dequeue from it and the queue is empty, or if you try to enqueue items to it and the queue is already full. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">A thread trying to dequeue from an empty queue is blocked until some other thread inserts an item into the queue. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">There are few implementation for this BlockingQueue as below, all these classes available under java.util.concurrent package.</span><br />
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; white-space: pre;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ArrayBlockingQueue</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; white-space: pre;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">SyncronousBlockingQueue</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; white-space: pre;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">PriorityBlockingQueue</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; white-space: pre;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">LinkedBlockingQueue</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; white-space: pre;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">DelayQueue</span></li>
</ul>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>2) What is the use of these methods peek(), poll(), take() and remove() ?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans - </span><br />
<b style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;">peek()</b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> :- This retrieves, but does not remove, the head of this queue,or returns null if this queue is empty. It doesn't throw any exception.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>poll()</b> :- This retrieves and removes the head of this queue,or returns null if this queue is empty.It doesn't throw any exception.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>take()</b> :- This retrieves and removes the head of this queue, waiting if necessary until an element becomes available. This method waits for certain time , if its interrupted </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">then it throws InterruptedException. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>remove()</b> :- This retrieves and removes the head of this queue. This method differs from poll() only in that it throws an exception (NoSuchElementException ) if this queue is empty.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Apart from the above difference <i>take()</i> method is provided by <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html" target="_blank">BlockingQueue</a> i.e. java.util.concurrent.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html" target="_blank">BlockingQueue</a>.take(). </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Where as other methods provided by Queue i.e. <i>java.util.Queue.poll(), java.util.Queue.peek(), java.util.Queue.remove()</i></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>3) Is this possible to declare BlockingQueue implementation with ZERO/0 size?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><br /></b></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans- Yes, if its unbounded implementation. But,if its bounded then we have to provide a capacity. The capacity must be greater than ZERO (i.e. capacity > 0).</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">If we create a <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html" target="_blank">BlockingQueue</a> with ZERO capacity then this will throw <i>java.lang.IllegalArgumentException</i>.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">4) Write a program for demonstrating producer & consumer problem using blocking</span></b><br />
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> queue.</span></b><br />
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></b>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans- <a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html" target="_blank">Find the answer here.</a></span><br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">5) <b>What is the difference between ArrayBlockingQueue and LinkedBlockingQueue ?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><br /></b></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans- ArrayBlockingQueue is a bounded blocking queue backed by an array of objects. LinkedBlockingQueue is an optionally-bounded blocking queue based on linked nodes. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Linked queues typically have higher throughput than array-based queues but less predictable performance in most concurrent applications.Linked nodes are dynamically </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">created upon each insertion unless this would bring the queue capacity (Integer.MAX_VALUE). </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<h2>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><b><span style="color: red;">Find More Questions & Answers Below.</span></b></span></span></h2>
<ul>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2013/04/experienced-javaj2ee-interview.html" target="_blank">Experience Java Interview Questions & Answers. </a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/07/birla-soft-interview-question-answers.html" target="_blank">Birla Soft Interview questions for Java 2-4 Year experience.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/06/accenture-java-interview-questions.html" target="_blank">Accenture Interview questions for Java 3-8 Year experience.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/08/tavant-interview-questions.html" target="_blank">Experienced Interview questions by Tavant Technologies.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/08/experienced-java-interview-questions.html" target="_blank">CGI Interview questions for Java 3-8 Year experience.</a></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2014/09/capgemini-interview-questions-and.html" target="_blank"><span style="font-size: small;">Capgemini Java Interview questions</span> for 3-8 Year experience</a>. </span></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2014/10/ibm-java-interview-questions-for-3-8.html" target="_blank">IBM Java Interview questions for 3-8 Year Experience. </a></span><a href="http://javadevelopersguide.blogspot.com/2014/10/ibm-java-interview-questions-for-3-8.html" target="_blank"></a></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2015/02/sapient-interview-questions-and-answers.html" target="_blank"><span style="font-size: small;">SapientNitro Interview questions for Java 2</span>-6 Year experience</a>.</span></span></span></span></span></li>
</ul>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-22517435737834257032019-07-01T10:21:00.001-07:002019-07-08T11:33:11.429-07:00Producer-Consumer problem solution using java - BlockingQueue<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Threading is a very tricky and interesting concept in java programming language. There are many problems we face in technology out of which <u>producer-consumer</u> is one. Today we will write a java program for showing producer consumer problem and its solution by using <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html" target="_blank">BlockingQueue</a> implementation. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this program we will use <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html" target="_blank">ArrayBlockingQueue</a>. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">FoodProducer.java</span></b><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.concurrent;<br />import java.util.concurrent.BlockingQueue;<br />/**<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class FoodProducer implements Runnable {<br /><span style="white-space: pre;"> </span>private BlockingQueue<String> producerQueue = null;<br /><span style="white-space: pre;"> </span>public FoodProducer(BlockingQueue<String> queue) {<br /><span style="white-space: pre;"> </span>producerQueue = queue;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void run() {<br /><span style="white-space: pre;"> </span>try {<br /><span style="white-space: pre;"> </span>producerQueue.put("Drinks");<br /><span style="white-space: pre;"> </span>Thread.sleep(2000);<br /><span style="white-space: pre;"> </span>producerQueue.put("Chocolates");<br /><span style="white-space: pre;"> </span>Thread.sleep(2000);<br /><span style="white-space: pre;"> </span>producerQueue.put("Fruits");<br /><span style="white-space: pre;"> </span>Thread.sleep(2000);<br /><span style="white-space: pre;"> </span>} catch (InterruptedException e) {<br /><span style="white-space: pre;"> </span>// TODO Auto-generated catch block<br /><span style="white-space: pre;"> </span>e.printStackTrace();<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">FoodConsumer.java</span></b></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.concurrent;<br />import java.util.concurrent.BlockingQueue;<br />/**<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class FoodConsumer implements Runnable {<br /><span style="white-space: pre;"> </span>private BlockingQueue<String> consumerQueue = null;<br /><span style="white-space: pre;"> </span>public FoodConsumer(BlockingQueue<String> consumerQueue) {<br /><span style="white-space: pre;"> </span>this.consumerQueue = consumerQueue;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void run() {<br /><span style="white-space: pre;"> </span>try {<br /><span style="white-space: pre;"> </span>System.out.println(consumerQueue.take());<br /><span style="white-space: pre;"> </span>System.out.println(consumerQueue.take());<br /><span style="white-space: pre;"> </span>System.out.println(consumerQueue.take());<br /><span style="white-space: pre;"> </span>Thread.sleep(2000);<br /><span style="white-space: pre;"> </span>} catch (InterruptedException e1) {<br /><span style="white-space: pre;"> </span>e1.printStackTrace();<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now we will have a main class to call and execute these two workers. </span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>MainFoodProcess.java</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.concurrent;<br />import java.util.concurrent.ArrayBlockingQueue;<br />import java.util.concurrent.BlockingQueue;<br />/**<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class MainFoodProcess {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) throws InterruptedException {<br /><span style="white-space: pre;"> </span>final BlockingQueue<String> queue = new ArrayBlockingQueue<String>(2);<br /><span style="white-space: pre;"> </span>FoodProducer producer = new FoodProducer(queue);<br /><span style="white-space: pre;"> </span>FoodConsumer consumer = new FoodConsumer(queue);<br /><span style="white-space: pre;"> </span>new Thread(producer).start();<br /><span style="white-space: pre;"> </span>new Thread(consumer).start();<br /><span style="white-space: pre;"> </span>Thread.sleep(3000);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Output :</u></b></span><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Drinks</span> </blockquote>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Chocolates</span> </blockquote>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Fruits</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span></div>
<div>
<br /></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The output here is that, every time the producer insert element into the Queue the consumer will take that </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">element out of the queue. </span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Here we have used the below 2 important methods <i>take() </i>and <i>put()</i>. There are few many method provided by the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html" target="_blank">BlockingQueue</a> implementation. Find more methods on <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html" target="_blank">BlockingQueue</a>.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>take() </b>- Retrieves and removes the head of this queue, waiting if necessary until an element becomes available.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>put() </b>- Inserts the specified element into this queue, waiting if necessary for space to become available.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Happy Learning.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<div style="font-family: "times new roman"; margin: 0px;">
<div style="margin: 0px;">
<div style="font-family: "Times New Roman"; margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> @</span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
<div style="font-family: "Times New Roman"; margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span></div>
<ul style="font-family: "Times New Roman";">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html" target="_blank">Producer & Consumer problem solution using BlockingQueue.</a></span></li>
<li><span style="font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
</ul>
</div>
</div>
<ul style="font-family: "times new roman";">
</ul>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com4tag:blogger.com,1999:blog-3456532812873962732.post-51351174602474905252019-07-01T03:55:00.002-07:002019-07-02T09:02:06.842-07:00How to get the current location latitude and longitude in java script ?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this article we will see how to get the latitude and longitude. As we know java script is a high-level programming language, it gives many libraries to implement in our program to achieve real time necessities. Here we have used <a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator" target="_blank">Navigator </a>and <a href="https://developers.google.com/maps/documentation/javascript/examples/map-geolocation" target="_blank">Geolocation </a>in our program.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">We have used the<span style="background-color: white; color: #333333; font-size: 16px; letter-spacing: -0.04448px;"> </span><span style="background-color: white; border: 0px; color: #333333; font-size: 16px; letter-spacing: -0.04448px; margin: 0px; padding: 0px;"><code style="background-color: rgba(220, 220, 220, 0.5); border-radius: 2px; border: 0px; font-style: inherit; margin: 0px; overflow-wrap: break-word; padding: 0px 2px;"><a href="http://navigator.geolocation/">Navigator.geolocation</a></code></span><span style="background-color: white; color: #333333; font-size: 16px; letter-spacing: -0.04448px;"> , its a read-only property returns a </span><code style="background-color: rgba(220, 220, 220, 0.5); border-radius: 2px; border: 0px; font-style: inherit; font-weight: inherit; margin: 0px; overflow-wrap: break-word; padding: 0px 2px;"><a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation" target="_blank">Geolocation</a></code><span style="background-color: white; color: #333333; font-size: 16px; letter-spacing: -0.04448px;"><a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation" target="_blank"> </a>object that gives Web content access to the location of the device.</span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><u><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">sample-geolocation.html</span></u></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><!DOCTYPE html></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><html></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><body></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><title>Get Current Location Sample</title></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><h4>Click the below button to get your current location coordinates.</h4></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><button onclick="getLocation()">Get My Current Location</button></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><div id="displayId"></div></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><script></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">var display = document.getElementById("displayId");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">function getLocation() {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> if (navigator.geolocation) {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> navigator.geolocation.getCurrentPosition(displayPosition);</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> } else {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> display.innerHTML = "Geolocation is not supported by this browser.";</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> }</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">}</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">function displayPosition(position) {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> display.innerHTML = "<br>Latitude: " + position.coords.latitude +</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> "<br>Longitude: " + position.coords.longitude;</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">}</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"></script></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"></body></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"></html></span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now, we can see the output on the browser as below.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzaeBBabyesCvRtplbRegq7nmD54jW_OuCsSqJUGLkDVuLN1gXB0r9lBWciHNgJqzJWKTP5cLns1BQ0ekbZy2jgPC03TP3aEWurPlKa0_EhJ028_UOszvEL8OrDBHsLmKV9qcQn6dn23xE/s1600/sample_geo_loc.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="306" data-original-width="919" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzaeBBabyesCvRtplbRegq7nmD54jW_OuCsSqJUGLkDVuLN1gXB0r9lBWciHNgJqzJWKTP5cLns1BQ0ekbZy2jgPC03TP3aEWurPlKa0_EhJ028_UOszvEL8OrDBHsLmKV9qcQn6dn23xE/s320/sample_geo_loc.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="color: black; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: 10pt;">Happy Learning. </span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div>
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span>
<ul>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://javadevelopersguide.blogspot.com/2012/05/j2ee-set-print-area-in-jsphtml-page-for.html" target="_blank"><u>How to set print area in JSP/HTML page for printer</u> </a></span></span></span></span></li>
<li><a href="https://javadevelopersguide.blogspot.com/2012/05/htmljavascript-creating-window-in.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to create a window in java script.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2012/04/javascript-password-validation-with.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to validate password using regular expression.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2011/12/facebook-link-integration-to-your.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to integrate facebook link in you website.</span></a></li>
<li><a href="https://javadevelopersguide.blogspot.com/2019/07/find-nearest-place-by-using-postcode-or.html"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to find nearby place using postcode or zipcode.</span></a></li>
</ul>
</div>
</div>
<br /></div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-75619852697687955122019-06-24T13:22:00.003-07:002019-06-24T13:22:36.596-07:00Deploying Spring Boot Microservice to Docker - A Quick Guide<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">In this article we will deploy our spring boot micro service into docker. In our previous article we had created a simple <a href="https://javadevelopersguide.blogspot.com/2018/03/spring-boot-hello-world-program.html" target="_blank">"Hello World" spring boot micro service</a>. Now, we will deploy that application into Docker. <a href="https://javadevelopersguide.blogspot.com/2018/03/spring-boot-hello-world-program.html" target="_blank">Check how to create a spring boot micro service</a>. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Docker with spring boot is the current popular technology stack which enables organization to seamlessly develop and make production ready artifacts. If you want to learn more about docker, read more here. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Before deploying the application into docker, make sure you have installed the docker. In this example we have used Docker Community Edition ( Docker CE) on windows OS. <a href="https://docs.docker.com/install/" target="_blank">How to install docker on Windows/MacOS/Linux</a>. We can also use <a href="https://hub.docker.com/_/alpine" target="_blank">Alpine Linux image</a> , it provide minimal Linux environment to deploy & run the application.There are few docker commands to manage your application. Below sample command and screen shot shows to check the version of your installed docker engine. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Command - </span></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <i> <span style="background-color: yellow;">docker --version</span></i></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTPlyiGS2ETmQP4PyKOAUyc6Bo0LaPJ8uA6oovGpIGbb-YHLGC0gsbfyu_Po4pszPZT5DtxzgtB9LRHUD-nw65J-IQGCZUKYdqtvunErMH2a0GxxdDOwzaowsIHi0hlKkJcR2t5NEG0awB/s1600/Docker_version.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="188" data-original-width="588" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTPlyiGS2ETmQP4PyKOAUyc6Bo0LaPJ8uA6oovGpIGbb-YHLGC0gsbfyu_Po4pszPZT5DtxzgtB9LRHUD-nw65J-IQGCZUKYdqtvunErMH2a0GxxdDOwzaowsIHi0hlKkJcR2t5NEG0awB/s320/Docker_version.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>What we need to deploy a spring boot application in Docker? </b></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">First, we need to create an Image file for our application. Docker image is a most important component for docker engine. Docker provides a <a href="https://hub.docker.com/" target="_blank">docker hub</a>, its an library and community for container images. We can use docker hub to get the most common images . In the below project structure , we have created a "</span><span style="font-family: Courier New, Courier, monospace;">Dockerfile.txt</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">". If you put this docker file into the class path, then docker engine will automatically identify and load this file. This docker file name is very sensitive, so you must follow the naming convention as mentioned in the below screen shot. Docker reads commands/instructions from "</span><span style="font-family: Courier New, Courier, monospace;">Dockerfile.txt</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">" and build the image. </span></li>
</ul>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8iYygCP9PlyekimGkSQcajwz19SscMASJRCm1Te__146Ga_L1fcTWM81VjbMjB7R3WNuaz9opCY2_r6Ra3-Dm1LQWXoiOP9i_MzyikHF5U3xzccPefI4hZkeYedTZCUXI5uJlf1N-8BC2/s1600/Docker_File.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="258" data-original-width="384" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8iYygCP9PlyekimGkSQcajwz19SscMASJRCm1Te__146Ga_L1fcTWM81VjbMjB7R3WNuaz9opCY2_r6Ra3-Dm1LQWXoiOP9i_MzyikHF5U3xzccPefI4hZkeYedTZCUXI5uJlf1N-8BC2/s320/Docker_File.PNG" width="320" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The below docker file contains the commands to create the image. Actually there are many commands used for different purpose. Here we have used few commands as per our needs.</span></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6B1rLVEu0G7g004v_joXN7Fmky5Q1Eaw427ld9v5H42FtIBgqfw17P4bQGAr8qAa3hbufKblUNFeyI54B233ufbMp6xvBjdsNksguRe9CbAU1U2iVxs9mSTRdONJnLY86CGTnEohCEePH/s1600/Docker_file_command.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="139" data-original-width="1354" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6B1rLVEu0G7g004v_joXN7Fmky5Q1Eaw427ld9v5H42FtIBgqfw17P4bQGAr8qAa3hbufKblUNFeyI54B233ufbMp6xvBjdsNksguRe9CbAU1U2iVxs9mSTRdONJnLY86CGTnEohCEePH/s400/Docker_file_command.PNG" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul style="text-align: left;"><ul>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>FROM</b> - Must be the first non-comment instruction in the Dockerfile. This command creates layer from the docker image. In our case we have used</span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">java:8, It means this application will run on java 8.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>EXPOSE</b> - Exposing port for the endpoint. In this example we have configure 8080.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>ADD</b> - This command helps to takes a source and destination. Normally source is your local copy. COPY command also does same thing , but there is small difference between COPY & ADD command.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>ENTRYPOINT</b> - Its similar to CMD, where our command/jar file will be executed.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">There are many other commands for creating docker image. <a href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#dockerfile-instructions" target="_blank">Read more about docker command</a>.</span></li>
</ul>
</ul>
<br />
<br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now , run the command to build the image and deploy into docker. Before running the docker command we need to create the .jar file. Because, we are creating a jar file and then creating the jar file as docker image. So, here we have used </span><i><span style="font-family: Courier New, Courier, monospace;">mvn clean install</span></i><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> command to create the jar file.</span></li>
</ul>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Creating a jar file. Below maven command is used to create the jar file.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <i> <span style="background-color: yellow;">clean install </span></i></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><i><br /></i></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><i><br /></i></span>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuM1qgBCDDIbxIdAQ5FIb39R_VrfsgTpKHQhVOiRDOV-bmnHrx0PK7XBz4Njs5LBxMJyD5n6Z1g2vf0ZUbOxheQMltyaPCROEFK5LwaJN_ERISvRqB0-tkXHPXWZ1U2AuxUa2b9kZil4B7/s1600/maven_build.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="971" data-original-width="1530" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuM1qgBCDDIbxIdAQ5FIb39R_VrfsgTpKHQhVOiRDOV-bmnHrx0PK7XBz4Njs5LBxMJyD5n6Z1g2vf0ZUbOxheQMltyaPCROEFK5LwaJN_ERISvRqB0-tkXHPXWZ1U2AuxUa2b9kZil4B7/s320/maven_build.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><i><br /></i></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now , we can see below the .jar file has been created.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXHre02j1uec0XHjshYrsd8_HOVjrjfcxB3PyspXeM3veA5eheRC6dLn44KlBxmwVdiR3KP2VjffL_rCujr1c6oGG0QH5W543UupB_I-YBgpGWLKziiaXNg5Fv4ygZq5BBOhT5PdnuHmDc/s1600/jar_file.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="391" data-original-width="561" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXHre02j1uec0XHjshYrsd8_HOVjrjfcxB3PyspXeM3veA5eheRC6dLn44KlBxmwVdiR3KP2VjffL_rCujr1c6oGG0QH5W543UupB_I-YBgpGWLKziiaXNg5Fv4ygZq5BBOhT5PdnuHmDc/s320/jar_file.PNG" width="320" /></span></a></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Create a docker image file. Below command is used to create the image file.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<i><b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Syntax - </span></b></i><i><b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker build -t <image file name> <destination directory></span></b></i></div>
<div>
<i><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></i></div>
<div>
<i><span style="background-color: yellow; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker build -t sample-hello-microservice-springboot .</span></i></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> </span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj01Y4mnS-ZTj-Y5o85FWnIrC2POQChQj24zNwFSEME9ugm3HmZBHutGxpJvDKFaz1mSCkgWePakBeqT_Y8kGA5AnLRcl1HXJk_ThM-DOt3tUvMjaJW0ficNHhWYPJitiklJcHM9xbEVF7B/s1600/Docker_image.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="353" data-original-width="1600" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj01Y4mnS-ZTj-Y5o85FWnIrC2POQChQj24zNwFSEME9ugm3HmZBHutGxpJvDKFaz1mSCkgWePakBeqT_Y8kGA5AnLRcl1HXJk_ThM-DOt3tUvMjaJW0ficNHhWYPJitiklJcHM9xbEVF7B/s320/Docker_image.PNG" width="320" /></span></a></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">As per the above screenshot, it seems we have created the docker image successfully. You can check the created image by using command "</span><i><span style="font-family: Courier New, Courier, monospace;">docker images</span></i><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">".</span></div>
<div>
<i style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;"><br /></i></div>
<div>
<i style="background-color: yellow; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;">docker images</i></div>
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfzFeFxxvVHb2k-kqIRRiOXflUIBJ3N9Ob8n-LVtv2Mh-sZfN9yzrMSRVio13Kyc38xzCKYLXHwCNqb4FmCspyeWcvrSNqj-cPNHOP0at2y1bX6_2LrRgphY2Y31SLEq_3LNk-nb8WQeg/s1600/docker_images_success.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="70" data-original-width="1086" height="20" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfzFeFxxvVHb2k-kqIRRiOXflUIBJ3N9Ob8n-LVtv2Mh-sZfN9yzrMSRVio13Kyc38xzCKYLXHwCNqb4FmCspyeWcvrSNqj-cPNHOP0at2y1bX6_2LrRgphY2Y31SLEq_3LNk-nb8WQeg/s320/docker_images_success.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now, our image file is ready. We can push this image to docker container using below command .</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<i><b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Syntax - docker run -p <exposed port> -t <image file name></span></b></i><br />
<i><b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></b></i>
<i><span style="background-color: yellow; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker run -p 8080:8080 -t sample-hello-microservice-springboot</span></i><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhce4-r-4yskW7gM23fgula_LFxClB5bVDsrCuqb92x8sIoI9JFrCyEHA3c4DExnCwgdpDUzq7zhryZMGw-VHOcFR02on0taYa00BJrb7HyGn89LJDTvo5tcfTIqyb26eB03WR8L15J-cw7/s1600/docker_running_sucee.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="863" data-original-width="1600" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhce4-r-4yskW7gM23fgula_LFxClB5bVDsrCuqb92x8sIoI9JFrCyEHA3c4DExnCwgdpDUzq7zhryZMGw-VHOcFR02on0taYa00BJrb7HyGn89LJDTvo5tcfTIqyb26eB03WR8L15J-cw7/s320/docker_running_sucee.PNG" width="320" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now our micro service has been deployed to docker and its exposed on port 8080 as per our configuration in the docker file. We can check the running container and its status.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio6RwQ3qPrr2El8TRjI4RGfa5Gjoryp4AeFQgmjsNDyNU32X6Ke3CgavYZLVtasmhg-P0SDkCR6z7gVTQ8PVXeHj-bpCjCKxaqU7xBBD178EehQbWj74b0dfilybtU-RVr0ajgsg-1YkwY/s1600/Running.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="77" data-original-width="1600" height="15" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio6RwQ3qPrr2El8TRjI4RGfa5Gjoryp4AeFQgmjsNDyNU32X6Ke3CgavYZLVtasmhg-P0SDkCR6z7gVTQ8PVXeHj-bpCjCKxaqU7xBBD178EehQbWj74b0dfilybtU-RVr0ajgsg-1YkwY/s320/Running.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now we can also accessed from browser as below.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0abUgzhBpbVykDNHPHcvgDMDGi3zEwkBGZgqj_Yvy3SocRBNcxGVMsEHxN0slILFGIQPTUg_cowS1acYK3ieYm5pNE7b1FmCoB_UErXMPNxZoLgZiGHxhh02q79k6QUoZtLT6QsHiRxUz/s1600/Browser_running.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><img border="0" data-original-height="157" data-original-width="558" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0abUgzhBpbVykDNHPHcvgDMDGi3zEwkBGZgqj_Yvy3SocRBNcxGVMsEHxN0slILFGIQPTUg_cowS1acYK3ieYm5pNE7b1FmCoB_UErXMPNxZoLgZiGHxhh02q79k6QUoZtLT6QsHiRxUz/s320/Browser_running.PNG" width="320" /></span></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">There are few useful docker command as below .</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<i><b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker system prune </span></b></i><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This will remove: - all stopped containers</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> - all networks not used by at least one container</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> - all dangling images </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> - all dangling build cache </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>docker ps -a</b> </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This will show all process in docker engine.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker images</span></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This will show all the images you created.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">docker stop <container id></span></b><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This will stop the container.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">If required , there are help options to get the help about each command. <a href="https://docs.docker.com/" target="_blank">Read more.</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>docker ps --help</b></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>docker run --help</b></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope it will help you.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<ul>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">Write <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></a></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.in/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">How to Handle NullPointerException using JDK 8</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/spring-boot-hello-world-program.html" target="_blank">Spring Boot Hello World Program- A Step-By-Step Guide</a></span></li>
</ul>
</div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br /></div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com7tag:blogger.com,1999:blog-3456532812873962732.post-3410763221189794692019-06-19T02:39:00.000-07:002019-07-09T23:40:57.779-07:00Top 10 spring boot interview questions for experienced <div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In this post, we will discuss some top 10 interview questions in spring boot. These questions are tricky and trending now-a-days job market. These interview questions might suitable for 0 to 8 years of experience.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>1) What is @SpringBootApplication does internally ?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- As per spring boot doc, <i><a href="https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-using-springbootapplication-annotation.html" target="_blank">@SpringBootApplication</a></i> annotation is equivalent to using <i>@Configuration</i>, <i><a href="https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html" target="_blank">@EnableAutoConfiguration</a></i>, and <i>@ComponentScan</i> with their default attributes. Spring boot enable the developer to use single annotation instead of using multiple. But, as we know spring provided loosely coupled features we can use each individual annotation as per our project needs.</span><br />
<br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>2) How to exclude any package without using the basePackages filter?</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- There are many way you can filter any package. But, spring boot provides very tricky option to achieve this without touching the component scan. You can use "<i>exclude</i>" attribute, while using </span></div>
<br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">the annotation @SpringBootApplication. See the below code snippet.</span></div>
<div>
</div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">@SpringBootApplication(exclude= {Employee.class})<br />public class FooAppConfiguration {}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><br /></b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>3) How to disable a specific auto-configuration class?</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- You can use "<i>exclude</i>" attribute of <i>@EnableAutoConfiguration</i>. If you find that specific auto-configuration classes that you do not want </span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">are being applied. </span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><i>//By using "exclude"</i></span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">On the other way , if the class is not on the class path, you can use the "<i>excludeName</i>" attribute of the annotation and specify the </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">fully qualified name instead.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><i>//By using "excludeName"</i></span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">@EnableAutoConfiguration(excludeName={Foo.class})</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Also spring boot provides the facility to control the list of auto-configuration classes to exclude by using the <i style="background-color: #cccccc;">spring.autoconfigure.exclude</i> property. </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">You can add into the application.properties. You can add multiple classes with comma separated.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><i>//By using property file</i></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>4) What is Spring Actuator? What are its advantages?</b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- This is one of the most common interview question in spring boot. As per spring doc definition, "</span><i><span style="font-family: "courier new" , "courier" , monospace;">an actuator is a manufacturing term that refers to a mechanical device for moving or controlling something. Actuators can generate a large amount of motion from a small change</span></i><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">". </span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">As we know spring boot provides lots of auto-configuration features which helps the developer to develop ready for production components quickly.But, if you think what about the debugging , how to debug if something goes wrong. As a developer we always need analyze the logs and dig the data </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">flow of our application to check whats going on. So, spring actuator provides a easy access to all those kind of features. </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">It provides many features i.e. what are the beans created, what are the mapping in controller, what is the CPU usage, etc.Automatically auditing, health, and metrics gathering can be applied to your application.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">It provides very easy way to access with few production ready <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html" target="_blank">REST endpoints</a> to fetch all these kind of information from web. By, using these endpoints you do many things see here the endpoint docs. Nothing to worry about security, if Spring Security is present then these endpoints are secured by default using Spring Security’s content-negotiation strategy. Else , we can configure custom security by the help of <i>RequestMatcher</i>.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>5) How to enable/disable the Actuator ? </b></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- Enabling/Disabling the actuator is easy, the simplest way to enable the features is to add the dependency to the </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><i>spring-boot-starter-actuator</i> i.e. Starter. If you don't want the actuator to be enable, then don't add the dependency.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Maven dependency - </span></b></div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><dependencies><br /><span style="white-space: pre;"> </span><dependency><br /><span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br /><span style="white-space: pre;"> </span><artifactId>spring-boot-starter-actuator</artifactId><br /><span style="white-space: pre;"> </span></dependency><br /></dependencies></span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Gradle dependency-</span></b></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">dependencies {<br /><span style="white-space: pre;"> </span>compile("org.springframework.boot:spring-boot-starter-actuator")<br />}</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>6) What is Spring Initializer?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- This may not be a difficult question , but the interviewer always checks the subject knowledge of the candidate. Its quite often that you can't expect questions that you have prepared :). However, this is very common question asked frequently in near time.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Spring initializer is a web application , which generates spring boot project with just what you need to start quickly.As always we need a good skeleton of the project, it help you to create a project structure/skeleton properly. <a href="https://start.spring.io/" target="_blank">Initializer here</a>.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>7) What is shutdown in actuator? </b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html" target="_blank">Shutdown</a> is an endpoint which allows the application to be gracefully shutdown. This feature is not enabled by default.You can enable this by using <i style="background-color: #cccccc;">management.endpoint.shutdown.enabled=true</i> in your application.properties file. But, be careful about this if you are using this.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>8) Is this possible to change the port of Embedded Tomcat server in Spring boot?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- Yes, its possible to change the port. You can use the application.properties file to change the port. you need to mention "<i>server.port</i>" <i>(i.e. server.port=8081)</i>. Make sure you have application.properties in your project class path, rest spring framework will take care. If you mention <i>server.port=0</i> , then it will automatically assign any available port.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>9) Can we override or replace the Embedded Tomcat server in spring boot ?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- Yes, we can replace the embedded tomcat with any other servers by using the Starter dependencies.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">You can use spring-boot-starter-jetty or spring-boot-starter-undertow as dependency as per your project need.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>10) Can we disable the default web server in the spring boot application?</b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ans :- The major strong point in spring is to provide flexibility to build your application loosely coupled. Spring provides features to disable the web server in a quick configuration. </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Yes, we can use the application.properties to configure the web application type i.e. <span style="background-color: #cccccc;">spring.main.web-application-type=none</span></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Reference documents :-</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html" target="_blank">Spring endpoints</a>,<a href="https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-using-springbootapplication-annotation.html" target="_blank">spring boot annotation</a>, <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html" target="_blank">spring servers config</a></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<h2>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><b><span style="color: red;">Find More Questions & Answers Below.</span></b></span></span></h2>
<ul>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2013/04/experienced-javaj2ee-interview.html" target="_blank">Experience Java Interview Questions & Answers. </a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/07/birla-soft-interview-question-answers.html" target="_blank">Birla Soft Interview questions for Java 2-4 Year experience.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/06/accenture-java-interview-questions.html" target="_blank">Accenture Interview questions for Java 3-8 Year experience.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/08/tavant-interview-questions.html" target="_blank">Experienced Interview questions by Tavant Technologies.</a></span></span></span></span></li>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="background-color: white;"></span></span></span>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-size: small;"><span style="background-color: white;"><a href="http://javadevelopersguide.blogspot.in/2014/08/experienced-java-interview-questions.html" target="_blank">CGI Interview questions for Java 3-8 Year experience.</a></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2014/09/capgemini-interview-questions-and.html" target="_blank"><span style="font-size: small;">Capgemini Java Interview questions</span> for 3-8 Year experience</a>. </span></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2014/10/ibm-java-interview-questions-for-3-8.html" target="_blank">IBM Java Interview questions for 3-8 Year Experience. </a></span><a href="http://javadevelopersguide.blogspot.com/2014/10/ibm-java-interview-questions-for-3-8.html" target="_blank"></a></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2015/02/sapient-interview-questions-and-answers.html" target="_blank"><span style="font-size: small;">SapientNitro Interview questions for Java 2</span>-6 Year experience</a>.</span></span></span></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: small;"><span style="background-color: white;"><span style="color: red;"><span style="color: #0b5394;"><a href="https://javadevelopersguide.blogspot.com/2019/07/top-5-interview-questions-on.html" target="_blank">Top 5 interview questions on BlockingQueue.</a></span></span></span></span></span></li>
</ul>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com2tag:blogger.com,1999:blog-3456532812873962732.post-25767990411981197732019-06-17T04:51:00.002-07:002019-07-01T07:55:25.554-07:00No main manifest attribute, in sample-hello-microservice-springboot.jar<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The error "no main manifest attribute, in sample-hello-microservice-springboot.jar" occurred while trying to execute the jar file. This is very unusual issue with jar file execution. In this case I was trying to run the docker image. The reason of this issue, during the jar execution it was not able to locate the main class. Below is the main class "HelloApplication" and pom file. It seems the spring-boot plugin was missing with config for the manifest (mainClass). </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><u>HelloApplication.java</u></span></b><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.lab.springboot.application;<br />import org.springframework.boot.SpringApplication;<br />import org.springframework.boot.autoconfigure.EnableAutoConfiguration;<br />import org.springframework.boot.autoconfigure.SpringBootApplication;<br />import com.javadevelopersguide.springboot.business.DeliverHello;<br />@SpringBootApplication<br />@EnableAutoConfiguration<br />public class HelloApplication {<br /><span style="white-space: pre;"> </span>public static void main(String[] args) {<br /><span style="white-space: pre;"> </span>SpringApplication.run(DeliverHello.class);<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Pom.xml</u></b></span><br />
<br />
<blockquote class="tr_bq">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /><span style="white-space: pre;"> </span>xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><br /><span style="white-space: pre;"> </span><modelVersion>4.0.0</modelVersion><br /><span style="white-space: pre;"> </span><groupId>sample-hello-microservice-springboot</groupId><br /><span style="white-space: pre;"> </span><artifactId>sample-hello-microservice-springboot</artifactId><br /><span style="white-space: pre;"> </span><version>0.0.1-SNAPSHOT</version><br /><span style="white-space: pre;"> </span><description>Sample Hello microservice with Springboot.</description><br /><span style="white-space: pre;"> </span><parent><br /><span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br /><span style="white-space: pre;"> </span><artifactId>spring-boot-starter-parent</artifactId><br /><span style="white-space: pre;"> </span><version>2.0.1.RELEASE</version><br /><span style="white-space: pre;"> </span></parent><br /><span style="white-space: pre;"> </span><dependencies><br /><span style="white-space: pre;"> </span><dependency><br /><span style="white-space: pre;"> </span><!-- Setup Spring Boot --><br /><span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br /><span style="white-space: pre;"> </span><artifactId>spring-boot-starter</artifactId><br /><span style="white-space: pre;"> </span></dependency><br /><span style="white-space: pre;"> </span><dependency><br /><span style="white-space: pre;"> </span><!-- Setup Spring MVC & REST, use Embedded Tomcat --><br /><span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br /><span style="white-space: pre;"> </span><artifactId>spring-boot-starter-web</artifactId><br /><span style="white-space: pre;"> </span></dependency><br /><span style="white-space: pre;"> </span></dependencies><br /><span style="white-space: pre;"> </span><build><br /><span style="white-space: pre;"> </span><sourceDirectory>src</sourceDirectory><br /><span style="white-space: pre;"> </span><plugins><br /><span style="white-space: pre;"> </span><plugin><br /><span style="white-space: pre;"> </span><artifactId>maven-compiler-plugin</artifactId><br /><span style="white-space: pre;"> </span><version>3.5.1</version><br /><span style="white-space: pre;"> </span><configuration><br /><span style="white-space: pre;"> </span><source>1.8</source><br /><span style="white-space: pre;"> </span><target>1.8</target><br /><span style="white-space: pre;"> </span></configuration><br /><span style="white-space: pre;"> </span></plugin><br /><span style="white-space: pre;"> </span></plugins><br /><span style="white-space: pre;"> </span></build><br /></project></blockquote>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Solution :-</u></b></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> I have added the manifest in the pom.xml file. </span><br />
<blockquote class="tr_bq">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
<span style="white-space: pre;"> </span>xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><br />
<span style="white-space: pre;"> </span><modelVersion>4.0.0</modelVersion><br />
<span style="white-space: pre;"> </span><groupId>sample-hello-microservice-springboot</groupId><br />
<span style="white-space: pre;"> </span><artifactId>sample-hello-microservice-springboot</artifactId><br />
<span style="white-space: pre;"> </span><version>0.0.1-SNAPSHOT</version><br />
<span style="white-space: pre;"> </span><description>Sample Hello microservice with Springboot.</description><br />
<span style="white-space: pre;"> </span><parent><br />
<span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br />
<span style="white-space: pre;"> </span><artifactId>spring-boot-starter-parent</artifactId><br />
<span style="white-space: pre;"> </span><version>2.0.1.RELEASE</version><br />
<span style="white-space: pre;"> </span></parent><br />
<span style="white-space: pre;"> </span><dependencies><br />
<span style="white-space: pre;"> </span><dependency><br />
<span style="white-space: pre;"> </span><!-- Setup Spring Boot --><br />
<span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br />
<span style="white-space: pre;"> </span><artifactId>spring-boot-starter</artifactId><br />
<span style="white-space: pre;"> </span></dependency><br />
<br />
<span style="white-space: pre;"> </span><dependency><br />
<span style="white-space: pre;"> </span><!-- Setup Spring MVC & REST, use Embedded Tomcat --><br />
<span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId><br />
<span style="white-space: pre;"> </span><artifactId>spring-boot-starter-web</artifactId><br />
<span style="white-space: pre;"> </span></dependency><br />
<br />
<span style="white-space: pre;"> </span></dependencies><br />
<span style="white-space: pre;"> </span><build><br />
<span style="white-space: pre;"> </span><sourceDirectory>src</sourceDirectory><br />
<span style="white-space: pre;"> </span><plugins><br />
<span style="white-space: pre;"> </span><plugin><br />
<span style="white-space: pre;"> </span><artifactId>maven-compiler-plugin</artifactId><br />
<span style="white-space: pre;"> </span><version>3.5.1</version><br />
<span style="white-space: pre;"> </span><configuration><br />
<span style="white-space: pre;"> </span><source>1.8</source><br />
<span style="white-space: pre;"> </span><target>1.8</target><br />
<span style="white-space: pre;"> </span></configuration><br />
<span style="white-space: pre;"> </span></plugin><br />
<span style="white-space: pre;"> </span><span style="background-color: orange;"><plugin></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><groupId>org.springframework.boot</groupId></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><artifactId>spring-boot-maven-plugin</artifactId></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><configuration></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><archive></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><manifest></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span><mainClass>com.javadevelopersguide.lab.springboot.application.HelloApplication</mainClass></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span></manifest></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span></archive></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span></configuration></span><br />
<span style="background-color: orange;"><span style="white-space: pre;"> </span></plugin></span><br />
<span style="white-space: pre;"> </span></plugins><br />
<span style="white-space: pre;"> </span></build><br />
</project></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now its working fine. You can see the below screenshot to see the result.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8MDTgOZOLJYVTQP2Ff7oWPxFMcGgnmXn5Kbd-oH3DnXmAbtkBY5YPc9kJ5rotwD_iNaUnqEUPPQNX8yUEIHdnTLJyK9t7wh1XBZC5aLpslWZdylRsQidKQxQy7zL6yCMPIfVPgx06rpS4/s1600/docker-starting.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="337" data-original-width="1600" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8MDTgOZOLJYVTQP2Ff7oWPxFMcGgnmXn5Kbd-oH3DnXmAbtkBY5YPc9kJ5rotwD_iNaUnqEUPPQNX8yUEIHdnTLJyK9t7wh1XBZC5aLpslWZdylRsQidKQxQy7zL6yCMPIfVPgx06rpS4/s320/docker-starting.PNG" width="320" /></a></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Checking on browser.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqfOiu0TBMUiRyCtKHctBkL48YmIUGqY_wQz5Gqsdsy7F-_seEVGCqoxwvPdqZnZtELR4N7XEToc32bJhYew1utDthqlbz6HGVyWCXIvBP7Tt8scaFoLuGIKuP9WRrAet8cWP1g5knJX4N/s1600/Working_manifest.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="183" data-original-width="596" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqfOiu0TBMUiRyCtKHctBkL48YmIUGqY_wQz5Gqsdsy7F-_seEVGCqoxwvPdqZnZtELR4N7XEToc32bJhYew1utDthqlbz6HGVyWCXIvBP7Tt8scaFoLuGIKuP9WRrAet8cWP1g5knJX4N/s320/Working_manifest.PNG" width="320" /></a></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
</div>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. </span></div>
<div style="margin: 0px;">
<br /></div>
<div style="margin: 0px;">
<br /></div>
<div style="margin: 0px;">
<br /></div>
<div style="font-family: "times new roman";">
</div>
<div style="margin: 0px;">
<br /></div>
<div style="font-family: "times new roman";">
<div style="margin: 0px;">
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> </span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
</div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></div>
</div>
<ul style="font-size: medium;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
</ul>
</div>
</div>
<br /></div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-19838372495485850442019-06-12T23:03:00.001-07:002019-06-17T04:55:24.502-07:00Is not authorized to perform: lex:GetIntents on resource <div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">I am getting the below issue (</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><u>AccessDeniedException</u></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">) while calling </span><i style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;">getIntents </i><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">in lambda function with NodeJs. Below screenshot shows my lambda function call.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; margin-left: 1em; margin-right: 1em;"><img alt="" border="0" data-original-height="564" data-original-width="1187" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS367b0KTa41eLqyLMEyq5jle00bpPJ5ayJKNK4fJapxkp3C4Wcv1v3NL5xjRv47viAF977j7IAam7XEenD88ROtNfRmDEMWIjZGDx7vzNIggL5JooS9NO9ljxZ_pq_HAQgOPfCJrTVBKS/s320/Lambda_function.PNG" title="Lambda Exceptions" width="320" /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>AccessDeniedException Logs</u></b> </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">2019-06-13T05:11:41.415Z<span style="white-space: pre;"> </span>2b50a8fb-81bc-4f35-b024-d8c4a7864c74<span style="white-space: pre;"> </span>INFO<span style="white-space: pre;"> </span>{ AccessDeniedException: User: arn:aws:sts::156576774796:assumed-role/<span style="background-color: black;">fulfilClaimProcessRole/fulfilClaimProcess </span>is not authorized to perform: lex:GetIntents on resource: arn:aws:lex:us-east-1:156576774796:intent:*</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Object.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:51:27)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">message:</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">'User: arn:aws:sts::156576774796:assumed-role/<span style="background-color: black;">fulfilClaimProcessRole</span>/<span style="background-color: black;">fulfilClaimProcess</span> <span style="color: red;">is not authorized to perform: lex:GetIntents on resource: arn:aws:lex:us-east-1:156576774796:intent:*',</span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: red;">code: 'AccessDeniedException'</span>,</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">time: 2019-06-13T05:11:41.355Z,</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">requestId: 'baaca585-8d99-11e9-a134-070d28c2c0ab',</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">statusCode: 403,</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">retryable: false,</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">retryDelay: 64.04832064780818 } '<span style="color: red;">AccessDeniedException</span>: User: arn:aws:sts::156576774796:assumed-role/<span style="background-color: black;">fulfilClaimProcessRole/fulfilClaimProcess</span> is not authorized to perform: lex:GetIntents on resource: arn:aws:lex:us-east-1:156576774796:intent:*\n at Object.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:51:27)\n at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)\n at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)\n at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)\n at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)\n at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)\n at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)\n at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10\n at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)\n at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)'</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Solutions </u></b>:- It seems there is no access/privileges to access that resource. Now , I am going to give "<a class="ng-binding ng-scope" href="https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAmazonLexFullAccess" ng-if="item.isManagedPolicy" style="background-color: white; box-sizing: border-box; color: #1166bb; font-size: 14px; text-decoration-line: none; white-space: nowrap;" ui-sref="policies.detail({id: item.policyArn})">AmazonLexFullAccess</a>" to my lambda function. You need to attach the policy to your lambda function. Follow the below steps to attach the new permission.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<ul style="text-align: left;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Goto -> Security, Identity, & Compliance => IAM (Identity and Access Management) </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Select Roles => Select your Lambda function role(Which is you would have created during function creation?) </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Now click on Attach policy </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Find <a class="ng-binding ng-scope" href="https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAmazonLexFullAccess" ng-if="item.isManagedPolicy" style="background-color: white; box-sizing: border-box; color: #1166bb; font-size: 14px; text-decoration-line: none; white-space: nowrap;" ui-sref="policies.detail({id: item.policyArn})">AmazonLexFullAccess</a> and click on attach.</span></li>
</ul>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Once you provide the <a class="ng-binding ng-scope" href="https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAmazonLexFullAccess" ng-if="item.isManagedPolicy" style="background-color: white; box-sizing: border-box; color: #1166bb; font-size: 14px; text-decoration-line: none; white-space: nowrap;" ui-sref="policies.detail({id: item.policyArn})">AmazonLexFullAccess</a> to your lambda function role , you will be able to call your lex:intents call. Its working for me. See the below response I got from the<i> lex:intents</i> call. I got my all intents I have created.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"></span><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;">{</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "intents": [</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "AutoLoanDepartment",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-04T10:03:16.995Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-04T05:16:50.430Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "BookCar",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": "Intent to book a car on StayBooker",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-04T03:23:05.817Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-04T03:19:44.041Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "BookHotel",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": "Intent to book a hotel on StayBooker",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-04T03:19:43.241Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-04T03:19:43.241Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "ClaimDepartment",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-05T10:19:51.705Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-05T10:19:51.705Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "ClaimProcess",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-13T04:43:06.699Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-06T03:35:33.460Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "GreetingMSG",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-11T08:02:33.055Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-06T03:35:06.013Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "LoanDepartment",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-04T05:14:16.304Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-04T03:36:52.751Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "PersonalLoanDept",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-04T03:32:46.542Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-04T03:32:46.542Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "PolicyProcess",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-06T06:01:46.064Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-06T06:01:46.064Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> },</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "name": "RenewPolicy",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "description": null,</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "lastUpdatedDate": "2019-06-07T07:05:13.123Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "createdDate": "2019-06-06T10:29:21.371Z",</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "version": "$LATEST"</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> }</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> ],</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"> "nextToken": null</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;">}</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;">
</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. </span><br />
<br />
<br />
<br />
<div style="font-family: "times new roman";">
</div>
<br />
<div style="font-family: "times new roman";">
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> <a href="https://plus.google.com/u/0/118366889222322044227" target="_blank"><span style="color: red;">Google+</span></a></span><span style="color: red;"> </span>and <a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></div>
<ul style="font-size: medium;">
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
</ul>
</div>
</div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com1tag:blogger.com,1999:blog-3456532812873962732.post-54162116329607945562019-06-12T22:04:00.000-07:002019-06-12T23:02:01.473-07:00The checksum value doesn't match for the resource named 'XXXXXXBot'<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">This is very common problem with Lex when you are working with a version which is not matching with the published one. I have fixed this with a simple <b>refresh the page</b>. Either, you can reload your bot again. I will keep posting more on aws lex, lambda, cognito, ec2,etc in my upcoming posts, so stay tune here :)</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. </span><br />
<br />
<br />
<br />
<div style="font-family: "times new roman";">
</div>
<br />
<div>
<div style="font-family: "times new roman"; margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> <a href="https://plus.google.com/u/0/118366889222322044227" target="_blank"><span style="color: red;">Google+</span></a></span><span style="color: red;"> </span>and <a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">@Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
<div style="font-family: "times new roman"; margin: 0px;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></div>
<ul>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li style="font-family: "times new roman"; font-size: medium;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span>.</a></li>
<li style="font-family: "times new roman"; font-size: medium;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394;"><span style="font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: #0b5394; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li style="font-family: "times new roman"; font-size: medium;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/06/is-not-authorized-to-perform.html" target="_blank">Lambda function AccessDeniedException - is not authorized to perform </a></span></li>
</ul>
</div>
<br />
<br />
<br /></div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com0tag:blogger.com,1999:blog-3456532812873962732.post-49330067096731897012018-10-27T03:06:00.000-07:002019-07-08T11:31:27.274-07:00Java 8 Stream Filter with Example<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />In this article we will learn how to use Java 8 Stream Filter with Example, I have used String list to filter the names. <i><a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html" target="_blank">Stream</a>,</i> A sequence of elements supporting sequential and parallel aggregate operations. Below example will show you how to filter the list with predicate.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>StringFilterUsingStream.java</u></b> </span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<blockquote class="tr_bq">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">package com.javadevelopersguide.tutorial;</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">import java.util.ArrayList;</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">import java.util.List;</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">import java.util.stream.Collectors;</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">/**</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> * @author manoj.bardhan</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> *</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> */</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">public class StringFilterUsingStream {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>public static void main(String[] str) {</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>List<String> nameList = new ArrayList<String>();</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Roshna");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Amit Kumar");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Manoj");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Neha");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Rina");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Ashna");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Peter");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.add("Deb Kumar");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>System.out.println("All Names ::");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>nameList.stream().forEach(name -> System.out.println(name));</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>// Filter all names ends with "Kumar"</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>List<String> filteredList = nameList.stream().filter(nam -> nam.endsWith("Kumar")).collect(Collectors.toList());</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>System.out.println("\nFiltered Names ::");</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>filteredList.stream().forEach(name -> System.out.println(name));</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">}</span></blockquote>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">
</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<b><u><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Output :</span></u></b></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">All Names ::</span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Roshna</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Amit Kumar</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Manoj</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Neha</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Rina</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Ashna</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Peter</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Deb Kumar</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Filtered Names ::</span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Amit Kumar</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Deb Kumar</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope this will help you. Happy Learning.</span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div style="color: black; font-size: medium; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div style="color: black; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
<div style="font-size: medium; margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> @</span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span></div>
<ul>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #0b5394;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">Write <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></a></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html" target="_blank">Producer & Consumer problem solution using BlockingQueue.</a></span></li>
<li><span style="font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
</ul>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com3tag:blogger.com,1999:blog-3456532812873962732.post-83441664646828541002018-04-21T23:54:00.003-07:002019-07-08T11:32:21.234-07:00Check NullPointerException in jdk 8 - Use Optional<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><br />How to handle <i><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html" target="_blank">NullPointerException</a> </i>or null check in jdk 8 ? Checking null in jdk 8 using <i><a href="http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html" target="_blank">Optional<T></a></i>.<br /><br /><i><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html" target="_blank">NullPointerException</a></i> is most common exception which each developer need to handle. Its very common while you are playing around many object. Before JDK 8 , it was a tedious task and lots of boilerplate code you need to write to handle this <i><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html" target="_blank">NullPointerException</a></i>. But, after JDK 8 it Make your code more readable and protect it against null pointer exceptions. This API will help to write cleaner and more readable code , with intelligence to handle null check internally.<br /><br />Below Example has few demonstration , how to use the <i>Optional<T></i> api to avoid <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html" target="_blank">NullPointerException</a>. You can handle Null check for your object. <br /><br /><br /><b><u>Employee.java</u></b></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.tutorial.jdk8;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">/**</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> * Employee Object</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> *</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> * @author manoj.bardhan</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> *</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> */</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">public class Employee {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>private String empName;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>private int age;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>private Address empAddress;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public String getEmpName() {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>return empName;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public void setEmpName(String empName) {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>this.empName = empName;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public int getAge() {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>return age;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public void setAge(int age) {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>this.age = age;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public Address getEmpAddress() {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>return empAddress;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>public void setEmpAddress(Address empAddress) {</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>this.empAddress = empAddress;</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="white-space: pre;"> </span>}</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">}</span></blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
<br /><b><u>Address.java</u></b></span><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">package com.javadevelopersguide.tutorial.jdk8;<br />/**<br /> * Address Object<br /> *<br /> * @author manoj.bardhan<br /> *<br /> */<br />public class Address {<br /><span style="white-space: pre;"> </span>private String homeUnitNo;<br /><span style="white-space: pre;"> </span>private String streetNo;<br /><span style="white-space: pre;"> </span>private String city;<br /><span style="white-space: pre;"> </span>public String getHomeUnitNo() {<br /><span style="white-space: pre;"> </span>return homeUnitNo;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setHomeUnitNo(String homeUnitNo) {<br /><span style="white-space: pre;"> </span>this.homeUnitNo = homeUnitNo;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getStreetNo() {<br /><span style="white-space: pre;"> </span>return streetNo;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setStreetNo(String streetNo) {<br /><span style="white-space: pre;"> </span>this.streetNo = streetNo;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public String getCity() {<br /><span style="white-space: pre;"> </span>return city;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>public void setCity(String city) {<br /><span style="white-space: pre;"> </span>this.city = city;<br /><span style="white-space: pre;"> </span>}<br />}</span></blockquote>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><br /><u><b>NullPointerCheck.java</b></u></span><br />
<blockquote class="tr_bq">
<br />
package com.javadevelopersguide.tutorial.jdk8;<br />
import java.util.Optional;<br />
/**<br />
* This Example demonstrate how to use JDK 8 Optional<T> Api<br />
*<br />
* @author manoj.bardhan<br />
*<br />
*/<br />
public class NullPointerCheck {<br />
<span style="white-space: pre;"> </span>public static void main(String[] args) <span style="white-space: pre;"> </span>{<br />
<span style="white-space: pre;"> </span>String empName = null;<br />
<span style="white-space: pre;"> </span>/**<br />
<span style="white-space: pre;"> </span> * Before jdk 8, This will print "Print null"<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>if (null != empName) {<br />
<span style="white-space: pre;"> </span>System.out.println("Print not null");<br />
<span style="white-space: pre;"> </span>} else {<br />
<span style="white-space: pre;"> </span>System.out.println("Print null");<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>/**<br />
<span style="white-space: pre;"> </span> * Before jdk 8, throws NullPointerException<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>try {<br />
<span style="white-space: pre;"> </span>if (empName.equals("SomeThing")) {<br />
<span style="white-space: pre;"> </span>System.out.println("Print SomeThing");<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>} catch (Exception e) {<br />
<span style="white-space: pre;"> </span>e.printStackTrace();<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>/**<br />
<span style="white-space: pre;"> </span> * So Now , jdk 8 provides easy and clean API i.e Optional<T> for<br />
<span style="white-space: pre;"> </span> * handling this type of scenario.<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>Optional<String> optionalString = Optional.ofNullable(empName);<br />
<span style="white-space: pre;"> </span>if (optionalString.isPresent()) {<br />
<span style="white-space: pre;"> </span>System.out.println("Employee Name ::" + empName);<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>/**<br />
<span style="white-space: pre;"> </span> * How to work with your own objects.<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>Employee employee = new Employee();<br />
<span style="white-space: pre;"> </span>employee.setEmpName("Peter");<br />
<span style="white-space: pre;"> </span>Optional<Employee> optionalEmployee = Optional.ofNullable(employee);<br />
<span style="white-space: pre;"> </span>if (optionalEmployee.map(Employee::getEmpAddress).isPresent()) {<br />
<span style="white-space: pre;"> </span>System.out.println(employee.getEmpName() + "- Address is registered");<br />
<span style="white-space: pre;"> </span>} else {<br />
<span style="white-space: pre;"> </span>System.out.println(employee.getEmpName() + "- Address is null");<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>Employee employee1 = new Employee();<br />
<span style="white-space: pre;"> </span>employee1.setEmpName("Mark Garret");<br />
<span style="white-space: pre;"> </span>Address address = new Address();<br />
<span style="white-space: pre;"> </span>address.setCity("Sydney");<br />
<span style="white-space: pre;"> </span>employee1.setEmpAddress(address);<br />
<span style="white-space: pre;"> </span>Optional<Employee> optionalEmployeeWithAddress = Optional.ofNullable(employee1);<br />
<span style="white-space: pre;"> </span>if (optionalEmployeeWithAddress.map(Employee::getEmpAddress).isPresent()) {<br />
<span style="white-space: pre;"> </span>System.out.println(employee1.getEmpName() + "- Address is " + address.getCity());<br />
<span style="white-space: pre;"> </span>} else {<br />
<span style="white-space: pre;"> </span>System.out.println(employee1.getEmpName() + "- Address is null");<br />
<span style="white-space: pre;"> </span>}<br />
<span style="white-space: pre;"> </span>/**<br />
<span style="white-space: pre;"> </span> * Use Optional.empty() for set the default value for an object.<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>Employee empObject = new Employee();<br />
<span style="white-space: pre;"> </span>System.out.println("Returns Optional empty Value ::" + Optional.empty());<br />
<span style="white-space: pre;"> </span>/*<br />
<span style="white-space: pre;"> </span> * Optional.of() method doesn't handle NullPointer, be careful of this<br />
<span style="white-space: pre;"> </span> * method while using.Always use the ofNullable() before null check.<br />
<span style="white-space: pre;"> </span> */<br />
<span style="white-space: pre;"> </span>System.out.println(<br />
<span style="white-space: pre;"> </span>"Returns Optional empty Value ::" + Optional.of(empObject).map(Employee::getEmpAddress).isPresent());<br />
<span style="white-space: pre;"> </span>}<br />
}</blockquote>
<div>
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b><u>Output:-</u></b></span><br />
<blockquote class="tr_bq">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>Print null<br />
java.lang.NullPointerException<br />
<span style="white-space: pre;"> </span>at com.javadevelopersguide.tutorial.jdk8.NullPointerCheck.main(NullPointerCheck.java:48)<br />
Peter- Address is null<br />
Mark Garret- Address is Sydney<br />
Returns Optional empty Value ::Optional.empty<br />
Returns Optional empty Value ::false</blockquote>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
<br />I have used below methods from Optional<T> :-<br /><br /><b>empty()</b> - Returns an empty Optional instance</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><b>of()</b> - Returns an Optional with the specified present non-null value.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><b>isPresent()</b> - If a value is present, invoke the specified consumer with the value, otherwise do nothing.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><b>map()</b> - If a value is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result.</span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /><b>ofNullable()</b> - Returns an Optional describing the specified value, if non-null, otherwise returns an empty Optional.<br /><br /><br />There are few more methods are there, you can give a try. Below link will give you a complete information. <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html">Read more about the Optional<T> by JDK 8.</a></span><br />
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Hope it will help you.</span></div>
<div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span><br />
<div style="margin: 0px;">
<div style="margin: 0px;">
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><span style="color: #444444;">Follow for more details on</span><span style="color: red;"> @</span><a href="https://www.facebook.com/jdevelopersguide" style="color: red;" target="_blank">Facebook</a><span style="color: red;">!!!</span></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><br /></span></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: x-small;"><b><span style="color: red;">Find More :-</span></b></span></span></span></div>
</div>
<div style="margin: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"></span><br /></span></div>
<ul style="font-size: medium;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Write<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">y<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">our first groovy program</span></span></span></span></a></span></span></span></span></span><a href="http://javadevelopersguide.blogspot.com/2017/01/write-your-first-groovy-program.html" target="_blank">.</a> </li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #0b5394;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2015/05/how-to-convert-epoch-to-human-readable.html"><span style="color: #0b5394;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Top 10 groovy interview que<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">stion</span></span></span>.</a></span></span></span></span></span></span></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Differ<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">ence between groo<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">v</span>y and java</span></span></span></span></span></span></span></span></span>.</a></li>
<li><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394;"><span style="font-size: xx-small;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">What is full<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> stack devel<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">opme<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">n</span>t experience.</span></span> </span></span></span></span></a></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="http://javadevelopersguide.blogspot.com/2017/01/value-added-skill-for-your-resume-groovy.html" target="_blank">5 fundamental questions of groovy.</a> </span></span></li>
<li><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: xx-small;"><span style="color: #0b5394; font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.in/2017/10/write-your-first-java-program.html" target="_blank">Write your first java program.</a></span></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/03/write-program-to-reverse-string-using.html" target="_blank">Reverse string using recursive method in java</a>.</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2018/04/check-nullpointerexception-in-jdk-8-use.html" target="_blank">Java 8 use Option - avoid NullPointerException</a></span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/producer-consumer-problem-solution.html" target="_blank">Producer & Consumer problem solution using BlockingQueue.</a></span></li>
<li><span style="font-size: x-small;"><a href="https://javadevelopersguide.blogspot.com/2019/07/comparator-interface-with-examples.html">Comparator Interface with Examples</a></span></li>
</ul>
</div>
<ul style="font-size: medium;">
</ul>
</div>
<div>
</div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
</div>
</div>
</div>
</div>
javadevelopersguidehttp://www.blogger.com/profile/04508482635130609348noreply@blogger.com13