Java homework exercises working with 2D arrays
Your code looks well done.  Just a couple of tweaks to make it better:


Your check() method could fail if passed an empty string, "", since .charAt(0) will raise an IndexOutOfBoundsException.  Using the following to protect against the exception: 

if ( ! item.isEmpty()  &amp;&amp;  item.charAt(0) == c ) {

In populate(), you loop up to arr.length and arr[i].length.  But you have just created that array of known dimensions m and n, so it would be clearer, simpler and slightly faster to use those variables for the loop limits. 
Your variable names could be better: perhaps array instead of arr, and column instead of newarr.