我正在尝试编写一个包含一系列人物配置文件的小程序,我仍然坚持使用添加配置文件的方法,因为我希望将它们添加到正确的位置,因此它不需要被分类。例如 如果我有一个包含3个配置文件的数组
波特,H 史密斯,T 沃伦,B
我想添加Summer,P我想在第1和第2个索引之间添加它
在有人要求之前我没有太多的代码,因为我仍在考虑如何搜索数组并说明需要放置配置文件的位置。
赞赏任何想法
(它也需要是一个数组而不是一个ArrayList或任何其他数据结构)
答案 0 :(得分:1)
如果要使用数组而不是合适的数据结构,请使用Arrays.binarySearch()查找适当的位置。但是你必须转移所有后续元素。
答案 1 :(得分:1)
无论您谈论什么,最好由LinkedList
http://docs.oracle.com/javase/6/docs/api/java/util/LinkedList.html执行
由于您只想使用Array
,因此您知道数组具有您声明的恒定数量的元素。因此,我建议您创建 临时 ArrayList
,然后将这些元素复制到您想要的数组中。这是怎么做的
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
String[] yourInitialArray = { "Potter, H", "Smith, T", "Warren, B" };
// Creating a temporary ArrayList
ArrayList<String> temporary = new ArrayList<String>();
for (int i = 0; i < yourInitialArray.length; i++) {
if (i != 1) {
temporary.add(yourInitialArray[i]);
} else {
temporary.add("Summer, P");
temporary.add(yourInitialArray[i]);
}
}
yourInitialArray = new String[temporary.size()];
for (int j = 0; j < temporary.size(); j++) {
yourInitialArray[j] = temporary.get(j);
System.out.println(yourInitialArray[j]);
}
}
}
答案 2 :(得分:0)
尝试在对列表进行排序后正常添加。最好使用
答案 3 :(得分:0)
首先,我强烈建议在数组上使用集合框架List
。因为它提供了比使用普通数组更多的灵活性和改进
对于您的解决方案,我建议您使用LinkedList
。这提供了方法add(int index, E element )
,用于在特定位置插入元素,并且非常有效