Я думаю, имена переменных вовсе не имеют значения , но также и то, что нет хорошего общего имени, которое бы подходило для всех возможных случаев в таком цикле. Это зависит от того, что хранится в TreeMap и , что содержит источник данных . Тем не менее, мы могли бы сказать что-то вроде
for (String localData : TreeMapvar) {
// Read remoteData from data source
if (localData.equals(remoteData)) {
// Update or add to a counter
}
}
если я понял твой дрейф.
Дело в том, что сравнение становится очевидным благодаря использованию .equals (), поэтому нам не нужно использовать имена переменных (в общем), чтобы сказать, что значения будут сравниваться, что не очевидно (и таким образом, более важным является то, какие значения сравниваются.
РЕДАКТИРОВАТЬ: Ваш второй пример ничего не меняет. Вы по-прежнему используете паршивые имена a и b, где вы должны использовать описательные, показывающие, что на самом деле представляют a и b. Я все еще вижу четкое сравнение, так что это не имеет отношения к именованию.
РЕДАКТИРОВАТЬ (re, ваш комментарий): Это легко. Единственная необходимая вещь - это некоторый контекст, скажем, карта содержит имена пользователей, связанные с тем, что вам нравится, и вы сравниваете их с существующей пользовательской информацией.
for (String a : TreeMapvar) {
// Read b from data source
if (a.equals(b)) {
// Update or add to a counter
}
}
for (String userName : TreeMapvar) {
String existingUserName = getNextUserName();
if (userName.equals(existingUserName)) {
// Update or add to a counter
}
}