Add Strings in-between index of ArrayList if not already exists
A few things come to mind:


First of all, as you access the list at index + 1 without any bounds check, the code will fail if a user attempts to use the method to add elements to the end of the string. You should probably handle that gracefully.
Changing the input parameter's value index is not expressedly forbidden, but it makes my skin crawl. Furthermore, you have to coordinate two values in a loop (s and index) which makes the code error prone. In this case, I'd go for an index based loop instead for(int i = 0; i &lt; strings.length; i++) and use strings[i] and list.get(index + i). This way, you have only a single variable changing in the loop.
If there's nulls in the list, the code will throw an NPE. Preferably use Objects.equals(x, y) instead of x.equals(y) to stay null-safe.