例如我的列表包含{4,6,6,7,7,8},我想要最终结果= {6,6,7,7}
一种方法是遍历列表并消除唯一值(在这种情况下为4,8).
有没有其他有效的方式而不是循环列表?我问过这个问题,因为我工作的清单非常大?我的代码是
List<Long> duplicate = new ArrayList();
for (int i = 0; i < list.size(); i++) {
Long item = (Long) list.get(i);
if (!duplicate.contains(item)) {
duplicate.add(item);
}
}
Run Code Online (Sandbox Code Playgroud) List<String> list = getNames();//this returns a list of names(String).
String[] names = (String[]) list.toArray(); // throws class cast exception.
Run Code Online (Sandbox Code Playgroud)
我不明白为什么?任何解决方案,解释表示赞赏.
我试图从列表中找到大于某个值的值(在我的例子中已知).
例:
特定
list = [1, 2, 5, 10, 15]; //list is sorted
Run Code Online (Sandbox Code Playgroud)
查找大于X(=7在本例中)的值.
期望的结果=返回值为的列表= [10, 15]
我尝试使用java二进制搜索,就像
int index = Collections.binarySearch(list, X);
Run Code Online (Sandbox Code Playgroud)
我的计划是找到索引(of X)然后返回索引后的所有元素.
但索引返回否定,我明白因为7不在列表中.
还有其他方法吗?有人请建议.
除了链表之外,Java中是否有任何无界限列表?我必须将BLOB对象存储在列表中.我目前正在使用arrayList,但我担心当列表的大小增长时,arraylist可能无法存储(可能达到最大容量).我想过使用链表但看起来效率不高.
让我先解释一下这个场景:
List<Row> rowValues = new ArrayList<>();
// After adding values into list
At location 0 = [Johnson, 10000]
At location 1 = [Adam, 12000]
At location 2 = [Mike, 11000]
At location 3 = [Johnson, 17000]
At location 4 = [Tony, 10000]
Run Code Online (Sandbox Code Playgroud)
我想column1按升序排列元素,column2按降序排列元素.喜欢:
At location 0 = [Adam, 12000]
At location 1 = [Johnson, 17000]
At location 2 = [Johnson, 10000]
At location 3 = [Mike, 11000]
At location 4 = [Tony, 10000]
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可以通过以下方式实现:
Collections.sort(rowValues); //or …Run Code Online (Sandbox Code Playgroud) java ×5
list ×2
arrays ×1
collections ×1
duplicates ×1
object ×1
sorting ×1
string ×1
unique ×1