/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
import java.util.stream.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
List
<String
> models
= Arrays.
asList("Accord",
"Civic",
"Element"); System.
out.
println("First: " + compareTwoList
(models,
Arrays.
asList("2014 Honda Accord",
"2011 Toyota Camry"))); System.
out.
println("Second: " + compareTwoList
(models,
Arrays.
asList("2013 Honda Accord",
"2015 Honda Element",
"2011 Honda Civic"))); }
public static boolean compareTwoList(List<String> models, List<String> titleOfVehicles) {
String pattern
= models.
stream() .map(Pattern::quote)
.collect(Collectors.joining("|", ".*(", ").*"));
Pattern re = Pattern.compile(pattern);
return titleOfVehicles.stream().allMatch(t -> re.matcher(t).matches());
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKaW1wb3J0IGphdmEudXRpbC5zdHJlYW0uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJTGlzdDxTdHJpbmc+IG1vZGVscyA9IEFycmF5cy5hc0xpc3QoIkFjY29yZCIsICJDaXZpYyIsICJFbGVtZW50Iik7CgkJU3lzdGVtLm91dC5wcmludGxuKCJGaXJzdDogIiArIGNvbXBhcmVUd29MaXN0KG1vZGVscywgQXJyYXlzLmFzTGlzdCgiMjAxNCBIb25kYSBBY2NvcmQiLCAiMjAxMSBUb3lvdGEgQ2FtcnkiKSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiU2Vjb25kOiAiICsgY29tcGFyZVR3b0xpc3QobW9kZWxzLCBBcnJheXMuYXNMaXN0KCIyMDEzIEhvbmRhIEFjY29yZCIsICIyMDE1IEhvbmRhIEVsZW1lbnQiLCAiMjAxMSBIb25kYSBDaXZpYyIpKSk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgYm9vbGVhbiBjb21wYXJlVHdvTGlzdChMaXN0PFN0cmluZz4gbW9kZWxzLCBMaXN0PFN0cmluZz4gdGl0bGVPZlZlaGljbGVzKSB7CgkJCgkJU3RyaW5nIHBhdHRlcm4gPSBtb2RlbHMuc3RyZWFtKCkKCQkgICAgICAubWFwKFBhdHRlcm46OnF1b3RlKQoJCSAgICAgIC5jb2xsZWN0KENvbGxlY3RvcnMuam9pbmluZygifCIsICIuKigiLCAiKS4qIikpOwoJCSAgICAgIAoJCVBhdHRlcm4gcmUgPSBQYXR0ZXJuLmNvbXBpbGUocGF0dGVybik7CgkJCgkJcmV0dXJuIHRpdGxlT2ZWZWhpY2xlcy5zdHJlYW0oKS5hbGxNYXRjaCh0IC0+IHJlLm1hdGNoZXIodCkubWF0Y2hlcygpKTsKCQoJfQp9