---
title: "kopiera och dubbla en array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/116460-kopiera-och-dubbla-en-array"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "golgata"
published: "2004-11-22T17:49:01.000Z"
updated: "2004-11-23T17:49:53.000Z"
replies: 7
views: 486
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/116460-kopiera-och-dubbla-en-array"
---

# kopiera och dubbla en array

## #1 — golgata, 2004-11-22T17:49Z

Jag har satt min Array till ett fast värde 5.
När det är fullt så vill jag skapa en ny dubbelt så stor Array och kopiera objekten från den gamla till den Nya. 

Hur gör man detta?

Permalänk: https://www.webforum.nu/p/116460

## #2 — Mc Fetto, 2004-11-22T17:54Z

ta en titt här :)
<http://www.webforum.nu/showthread.php?s=&threadid=110481&forumid=92>

Permalänk: https://www.webforum.nu/p/1490888

## #3 — golgata, 2004-11-22T19:03Z

men jag lägger inte in mitt på samma sätt men jag har kanske gjort fel...
jag har gjort på följande sätt.

```
private int size;
private Media[] lista;
	
public MediaContainer(int i_size)
{
size = i_size;
lista = new Media[size];
}

Sen i den andra filen som heter testMedia.java har jag lagt in följande. 
[kod]
int size = 4;
MediaContainer lista = new MediaContainer(size);
```

Kan man ändra koden på något sätt så att det blir lättare att jobba med den...

Permalänk: https://www.webforum.nu/p/1490907

## #4 — golgata, 2004-11-22T21:11Z

Nu har jag ändrat ännu mer.

Min kod ser ut på följande sätt. Borde inte detta fuingera???

  

```
public class MediaContainer
{
	
	private Media[] lista;
	
	private int m_mediaArray;
	
	public MediaContainer()
	{
		
		lista = new Media[4];
		m_mediaArray = 0;
	}

public void okaArray()

{
	Media[] tmplista = new Media [10];
	for (int i =0; i<lista.length; i++)
	{ 
	tmplista[i] = lista[i];
	lista[i] = tmplista[i];
	}
	}
```

Permalänk: https://www.webforum.nu/p/1490969

## #5 — Rocket, 2004-11-22T23:09Z

Nej den fungerar inte som du vill. Metoden okaArray() kopierar element från lista till tmplista och sedan tillbaka till lista, detta gör inte att lista blir större. Referensen till tmplista kommer att försvinna efter att metoden returnerar. Det du behöver göra är att sätta lista att referera till tmplista efter for-loopen.

Permalänk: https://www.webforum.nu/p/1491007

## #6 — golgata, 2004-11-23T14:49Z

Men hur?

Som jag har gjort det plusar den väl bara till 1. jag vill dubbla arrayn....

Permalänk: https://www.webforum.nu/p/1491266

## #7 — antilizaer, 2004-11-23T16:29Z

Följande borde göra susen:

```
public void okaArray()
{
        // Dubbla array:en
	Media[] tmplista = new Media [lista.length * 2];

        //  Kopiera data till tmplistan
	for (int i =0; i<lista.length; i++)
	{ 
	    tmplista[i] = lista[i];	   
	}

         // Sätt om så att lista pekar på den nya array:en
         lista = tmplista;
}
```

Permalänk: https://www.webforum.nu/p/1491344

## #8 — spango, 2004-11-23T17:49Z

Använd inte en for-loop för att kopia delar av en array, använd System.arraycopy i stället. Den är snabbare.

Permalänk: https://www.webforum.nu/p/1491386

---

Tråden på webben: https://www.webforum.nu/amne/java/116460-kopiera-och-dubbla-en-array
