비교적 간단한 질문, 하지만 난 can& it& 생쥐라. # 39, s, t 알아낼 방법 # 39 이 비판을 받아왔다.
ArrayList<object> list = new ArrayList<object>();
I want to add 와 각 객체에는 일부 객체에는 i& # 39, ve got to be 특정 위치에. 그러나 이 가능한 각 주문하십시오 추가할 수 있다는 것이 필요합니다. 이 때, 't work, I get it, I 시도하시겠습니까 doesn& # 39 한 이네스루토프보운세스세페시옹':
list.add(1, object1)
list.add(3, object3)
list.add(2, object2)
나도 날잡아 '는 어떤 일을 채우고 라일리스트' null '다음' 을 (를) 위의. 하지만 난 작동하잖아 it& # 39 의 끔찍한 솔루션입니다. 또 다른 방법으로 이 있나요?
이렇게 할 수 있습니다.
list.add(1, object1)
list.add(2, object3)
list.add(2, object2)
그 후 2, 3 포지셔닝하여 추가했는지 object2 포지셔닝하여 object3 이동합니다.
스케쳐내 object3 http://support. position3 I& 항상 사용할 수 있는 핵심 가치로 및 로케이터로 포지셔닝하십시오 이스마프 제안하세요; d # 39 입니다.
객체 및 어레이입니다 변환하십시오 迈向 라일리스트 사용할 수 있습니다 -
Object[] array= new Object[10];
array[0]="1";
array[3]= "3";
array[2]="2";
array[7]="7";
List<Object> list= Arrays.asList(array);
라일리스트 적립율은 - [1, null null null null null null, 2, 3, 7]
네 크기와 요소 사이의 null 라일리스트 오버라이드합니다 수도 있습니다 삽입하려면 추가할.
import java.util.ArrayList;
public class ArrayListAnySize<E> extends ArrayList<E>{
@Override
public void add(int index, E element){
if(index >= 0 && index <= size()){
super.add(index, element);
return;
}
int insertNulls = index - size();
for(int i = 0; i < insertNulls; i++){
super.add(null);
}
super.add(element);
}
}
그럼 어느 시점에서든 라일리스트 추가할 수 있습니다. 예를 들어, 이 기본 방법:
public static void main(String[] args){
ArrayListAnySize<String> a = new ArrayListAnySize<>();
a.add("zero");
a.add("one");
a.add("two");
a.add(5,"five");
for(int i = 0; i < a.size(); i++){
System.out.println(i+": "+a.get(i));
}
}
이 결과 익올때 콘솔에서:
0: 제로
1: 한
2: 2
3: null
4: null
5: 5
내가 당신 관심을 이끌어낼 수 있는 ['' 문서용으로 라일리스트리아다] [1] '-' 이네스루토프보운세스세페시옹 던지고 있다고 경우 인덱스화할 범위를 벗어납니다 ('인덱스화할 <. 0 인덱스화할 >. 크기 () ')
크기 () '' 확인 목록이 리스트리아다 전화하시기 전에 ' (1, object1)'
[1]: http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html # %20e% add% 28int, 29
이 작은 '동시에' 루프 솔루션으로 어때?
private ArrayList<Object> list = new ArrayList<Object>();
private void addObject(int i, Object object) {
while(list.size() < i) {
list.add(list.size(), null);
}
list.add(i, object);
}
....
addObject(1, object1)
addObject(3, object3)
addObject(2, object2)
@Maethortje
The problem here is java creates an empty list when you called new ArrayList and
추가 지정된 점에서 포지셔닝하십시오 이네스루토프보런드 시도하는 동안 요소를 갖고 있어, 그래서 일부 요소가 있어야 할 때 자신의 목록에 포지셔닝하십시오.
시도하시오 정보정의다음
/*
Add an element to specified index of Java ArrayList Example
This Java Example shows how to add an element at specified index of java
ArrayList object using add method.
*/
import java.util.ArrayList;
public class AddElementToSpecifiedIndexArrayListExample {
public static void main(String[] args) {
//create an ArrayList object
ArrayList arrayList = new ArrayList();
//Add elements to Arraylist
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
/*
To add an element at the specified index of ArrayList use
void add(int index, Object obj) method.
This method inserts the specified element at the specified index in the
ArrayList.
*/
arrayList.add(1,"INSERTED ELEMENT");
/*
Please note that add method DOES NOT overwrites the element previously
at the specified index in the list. It shifts the elements to right side
and increasing the list size by 1.
*/
System.out.println("ArrayList contains...");
//display elements of ArrayList
for(int index=0; index < arrayList.size(); index++)
System.out.println(arrayList.get(index));
}
}
/*
Output would be
ArrayList contains...
1
INSERTED ELEMENT
2
3
*/
내 생각에는 메도팔 is what you 의 솔루션을 찾고 있다.
다만 또 다른 대체 솔루션, 정수, Object> HashMap< 사용하는 방법이 있습니다. 키를 사용하여 (정수) 및 저장하였습니다 한다.
이 방법은 won& # 39, t need to stick null 채웁니다 상술합니다 처음에는 그냥 위치 및 객체에는 지도에 따라 as you go. 몇 줄의 끝에 변환할지 redhat. 목록을 작성할 수 있습니다 필요할 때 이쪽요.
예를 들어, 포지셔닝하십시오 항목을 추가할 때, 그 후 리스트는 크기 이상의 포지셔닝하십시오 합니다.
'추가 (2, 아이템)'. 이 구문은 고말은 다음 항목을 추가하고 2 세, 움직이십시오 항목설명프로세서 dell. 포지셔닝하십시오 인덱스화할 http://support. 2 포지셔닝하십시오.
이 작동하지 않을 수 없는 경우, 다음 두 번째 항목을 포지셔닝하십시오 It&, ll, # 39 에서 예외가 발생합니다.
즉, '2' 에서 포지셔닝하십시오 뭔가 하려면 추가
네 목록 ' (2 + 1) = 3 크기 이상이어야 하고, 그래서 항목이 http://ipw2100.sourceforge.' 0.1,2 포지셔닝하십시오. '
이런 식으로 포지셔닝하십시오 안전하고 있을 수 있는 it 보증됩니다 2 액세스됩니다 예외일 수 없다.
누군가에게 도움이 될 수는 있지만 말 약어입니다 기대해 본다.
2 단계 특정 항목을 추가하는 포지셔닝하십시오 라일리스트 '에서'
'1' 에서 '' 특정 인덱스화할 라일리스트 nulll 항목에서와 추가. 2. 그럼 '과' 위치를 설정할 때 필요합니다.
= new 라일리스트 목록 (), 라일리스트 의 초기화 / / 대한 (정수 i = 0; 내가 <. 미템s.시즈 (); i++) { 리스트리아다 (i, null). //" Add"; null 로 모든 포지션을 } // " Set"; 항목에서와 리스트리스트 (위치, 섬로비치);
이 방법은 없는 예비형 항목의 경우 '즉' don& # 39, 라일리스트 조교하실 등의 항목을 추가하고,
list = new ArrayList(mItems.size());
list.add(position, SomeObject);