Hacker Rank: Extracting digits from a given number and check for divisibility
I see that I have too many ArrayLists and Arrays here and there throughout the code, maybe that can be replaced to begin with.


Yes, that would probably be a good idea. In findDigits you internally use an ArrayList, I'm guessing because it's a lot easier to use than an array (which is true, a List is the correct collection type here). But then you transform it to an array, which isn't really needed. 

Returning lists instead of arrays is perfectly acceptable in Java, and is in fact used in most cases (an exception might be made for fixed length arrays in performance critical code, eg coordinates).

So just change your signature from Long[] findDigits(long num) to List&lt;Long&gt; findDigits(long num), and then use a List in findCount as well.

Misc


declare variables in as small a scope as possible. sc isn't really needed anywhere except in main, so declare it there.
don't use short variables names. sc would be clearer as scanner and al could be results.
findDigits could be getDigits, after all you are not really searching for the digits or computing them (they are right there), just getting them.
findCount could be countDivisors, and then num could be divisor.
the question says that you are given an integer, but you use long instead.
your while loop in findDigits could be simplified to digits.add(num % 10);  num = num / 10;.