[java-inspections] UseBulkOperation: Replace iteration with bulk List.replaceAll call (IDEA-270920)

GitOrigin-RevId: 551e051b5d02ad1f63bfd426446f2e204611652a
This commit is contained in:
Andrey.Cherkasov
2021-11-02 08:09:34 +03:00
committed by intellij-monorepo-bot
parent ab0282f813
commit ecfeba78a0
35 changed files with 530 additions and 32 deletions

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(s -> s.trim().toLowerCase());
}
}

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(String::new);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(this::modifyString);
}
String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(this::modifyString);
}
String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(String::trim);
}
}

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(String::toLowerCase);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(Main::modifyString);
}
static String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(e -> e);
}
}

View File

@@ -0,0 +1,8 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(e -> e);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
strings.replaceAll(Main::modifyString);
}
static String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
import java.util.function.UnaryOperator;
public class Main {
static class MyList extends ArrayList<String> {
public void myReplaceAll(UnaryOperator<String> operator) {
super.replaceAll(operator::apply);
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
if (Math.random() > 0.5) break;
strings.set<caret>(i, strings.get(i).toLowerCase());
}
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, strings.get(i).trim().toLowerCase());
}
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, new String(strings.get(i)));
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
if (Math.random() > 0.5) continue;
strings.set<caret>(i, strings.get(i).toLowerCase());
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
int j = 0;
for (int i = 0; i < strings.size(); i++) {
strings<caret>.set(i, strings.get(j));
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
int j = 0;
for (int i = 0; i < strings.size(); i++) {
strings<caret>.set(j, strings.get(j));
}
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings1, List<String> strings2) {
for (int i = 0; i < strings1.size(); i++) {
strings2<caret>.set(i, strings1.get(i));
}
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings1, List<String> strings2) {
for (int i = 0; i < strings1.size(); i++) {
strings1<caret>.set(i, strings2.get(i));
}
}
}

View File

@@ -0,0 +1,13 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++)
strings.set<caret>(i, modifyString(strings.get(i)));
}
String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,14 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, modifyString(strings.get(i)));
}
}
String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, strings.get(i).trim());
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
String str = strings.get(i).toLowerCase();
strings.set<caret>(i, str);
}
}
}

View File

@@ -0,0 +1,15 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
String str = strings.get(i);
strings.set<caret>(i, modifyString(str));
}
}
static String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, strings.get(i));
}
}
}

View File

@@ -0,0 +1,10 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, strings.get(i));
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
if (Math.random() > 0.5) return;
strings.set<caret>(i, strings.get(i).toLowerCase());
}
}
}

View File

@@ -0,0 +1,11 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, strings.get(i).toLowerCase());
System.out.println("bar");
}
}
}

View File

@@ -0,0 +1,14 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
class Main {
void modifyStrings(List<String> strings) {
for (int i = 0; i < strings.size(); i++) {
strings.set<caret>(i, modifyString(strings.get(i)));
}
}
static String modifyString(String str) {
return str.repeat(2);
}
}

View File

@@ -0,0 +1,14 @@
// "Replace iteration with bulk 'List.replaceAll' call" "true"
import java.util.*;
import java.util.function.UnaryOperator;
public class Main {
static class MyList extends ArrayList<String> {
public void myReplaceAll(UnaryOperator<String> operator) {
for (int i = 0; i < super.size(); i++) {
super.set<caret>(i, operator.apply(super.get(i)));
}
}
}
}

View File

@@ -0,0 +1,15 @@
// "Replace iteration with bulk 'List.replaceAll' call" "false"
import java.util.*;
import java.util.function.UnaryOperator;
public class Main {
static class MyList extends ArrayList<String> {
@Override
public void replaceAll(UnaryOperator<String> operator) {
for (int i = 0; i < super.size(); i++) {
super.set<caret>(i, operator.apply(super.get(i)));
}
}
}
}