나는 집안일을 가지고 있는데, 배열의 요소를 사용했다. 행의 요소가 문제가되는 조건에 따라 삭제 또는 추가해야하기 때문에 링크 된 목록이다. 코드를 아래에 있지만 고정 된 행에 새 요소를 추가 할 때 문제가 있습니다. p [0] 값이 모두 추가 될 것입니다. 어떻게이 문제를 해결할 수 있습니까?배열 요소로 자바에서 연결된 목록
LinkedList<Integer> l = new LinkedList<Integer>();
l.add(Integer.valueOf(2));
l.add(Integer.valueOf(0));
l.add(Integer.valueOf(3));
for(int j=0;j<p.length;j++)
//it will be the same LinkedList<Integer> l per all the instances in the array
p[j] = new link(l);
를 적어 둡니다이 작업을 수행 할 때마다 link
인스턴스가 LinkedList<Integer> l
같은를 참조하는 list
속성이됩니다 :
public class schedule
{
public class link
{
public LinkedList <Integer>list = new LinkedList<Integer>() ;
public link(LinkedList<Integer> value)
{
list = value;
}
public link(int value)
{
list.add(Integer.valueOf(value)) ;
}
}
private link p[] = new link[10];
public schedule()
{
LinkedList<Integer> l = new LinkedList<Integer>();
l.add(Integer.valueOf(2));
l.add(Integer.valueOf(0));
l.add(Integer.valueOf(3));
for(int j=0;j<p.length;j++)
p[j] = new link(l);
p[0].list.add(9); // here I have problem
for(int j=0;j<p.length;j++)
{
System.out.print("p["+j+"]:");
for(int i=0;i<p[j].list.size();i++)
System.out.print(p[j].list.get(i).intValue());
System.out.println();
}
}
public static void main(String []arg)
{
new schedule();
}
the output is like this : the value 9 added to all but I want to be added just for first element
p[0]:2039
p[1]:2039
p[2]:2039
p[3]:2039
p[4]:2039
p[5]:2039
p[6]:2039
p[7]:2039
p[8]:2039
p[9]:2039
채우기 시도하고 더 구체적으로 말씀 질문을하시기 바랍니다. 나는 네가하는 말을 정말로 이해하지 못한다. – OmniOwl
어떤 문제가 있습니까? 그리고 귀하의 질문을 올바르게 다시 말하십시오. –
OP는 의견에 문제를 표명했습니다. 이해하기 쉽도록 * problematic * 문장 위에있는 코드를 확인하십시오. –