В B1 введите:
=INT(A1*0.001)
и скопируйте вниз:
Чтобы изменить значения на месте , попробуйте этот макрос VBA:
Sub FixKolumnA()
Dim i As Long
For i = 1 To 4
Cells(i, 1).Value = Int(Cells(i, 1).Value * 0.001)
Next i
End Sub
LinkedList использует, равняется методу, не Comparable.compareTo. Необходимо переопределить, равняется (и хэш-код) в MyObject для решения проблемы.
contains()
использование метода equals()
определить, является ли объект в списке. Я подозреваю Ваш класс MyObject
не переопределяет equals()
метод, и это будет то, почему myList.contains(b)
возвращается false
.
Необходимо переопределить .equals (Oject), и .hashCode () методы в классе MyObject (хэш-код не необходим для Списка..., но когда Вы, сверхобряд равняется контракту, говорите, что необходимо переопределить хэш-код).
По существу то, что делает содержание, является этим:
for(each item in the list) { if(theCurrentItem.equals(theItemYouAreLookingFor)) { return (true); } } return (false);
Смотрите на документацию для Объекта (для, равняется и хэш-код), здесь
Также действительно хорошая книга для чтения является Эффективным Java
Документация для содержит метод, следующие:
Возвращает true, если этот набор содержит указанный элемент. Более официально, возвращает true, если и только если этот набор содержит по крайней мере один элемент e таким образом что (o == пустой указатель? e == пустой указатель: o.equals (e)).
Поэтому необходимо переопределить MyObject, равняется (Возразите o), метод.
Таким образом для Вашего примера:
public class MyObject {
String myVal;
public boolean equals(Object o ) {
return ((MyObject)o).myVal.equals(myVal);
}
}
Вы ничего не должны реализовывать с интерфейсом Comparable.
( a == b ) == true
Вы имели в виду a.equals(b)
и b.equals(a)
вернуть true
? Это не то же как проверка на ссылочное равенство, ни проверка на a.compareTo(b) == 0
.
LinkedList.contains()
использование equals()
, таким образом, необходимо удостовериться, что метод был реализован правильно. equals()
должно также согласовываться с compareTo()
, хотя это не строго необходимо. Если Вы используете основанную на хеше структуру данных (например. HashSet
), необходимо гарантировать это hashCode()
реализован правильно.
Вместо того, чтобы использовать LinkedList, чтобы перерыть каждый элемент, Иметь Вас рассмотрел использование нового HashSet (Компаратор). Это эффективно сравнит элементы для нахождения соответствия.