11. september 2005 - 22:53
Der er
11 kommentarer og 1 løsning
Array i java -1.3?
Hvordan ser en array ud i Java -1.3? På javabog.dk er virker det ikke i -1.4 :)
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
11. september 2005 - 22:56
#1
arrays er der mig bekendt ikke ændret ved fra 1.0 til 1.5 der er ændret i ArrayList m.v. i 1.5 hvilket eksempel driller dig ?
11. september 2005 - 23:01
#2
Ja, nu kan jeg slet ikke finde hvor det er !-) Kan du give et eksempel på en array, ;o]?
11. september 2005 - 23:04
#3
sortering på alle mulige måder: import java.util.*; public class Sorting { public static void main(String[] args) { String[] sa = { "A", "a", "B", "b", "Æ", "æ", "Å", "å", "Aa", "aA", "AA", "aa"}; System.out.println("sort 1:"); Arrays.sort(sa); for(int i = 0; i < sa.length; i++) { System.out.println(" " + sa[i]); } System.out.println("sort incasesensitive 1:"); Arrays.sort(sa, String.CASE_INSENSITIVE_ORDER); for(int i = 0; i < sa.length; i++) { System.out.println(" " + sa[i]); } System.out.println("sort 2:"); Arrays.sort(sa, new C1()); for(int i = 0; i < sa.length; i++) { System.out.println(" " + sa[i]); } System.out.println("sort incasesensitive 2:"); Arrays.sort(sa, new C2()); for(int i = 0; i < sa.length; i++) { System.out.println(" " + sa[i]); } System.out.println("sort custom"); Arrays.sort(sa, new C3()); for(int i = 0; i < sa.length; i++) { System.out.println(" " + sa[i]); } } } class C1 implements Comparator { public int compare(Object o1, Object o2) { return ((String)o1).compareTo((String)o2); } public boolean equals(Object obj) { return false; } } class C2 implements Comparator { public int compare(Object o1, Object o2) { return ((String)o1).compareToIgnoreCase((String)o2); } public boolean equals(Object obj) { return false; } } class C3 implements Comparator { private final static String coll = "ABCDEFGHIJKLMOPQRSTUVWXYZÆØÅ"; private int compare(String s1, String s2, int ix) { int v1 = coll.indexOf(Character.toUpperCase(s1.charAt(ix))); int v2 = coll.indexOf(Character.toUpperCase(s2.charAt(ix))); if(v1 < v2) { return -(ix + 1); } else if(v1 > v2) { return (ix + 1); } else { if(((ix + 1) < s1.length()) && ((ix + 1) < s2.length())) { return compare(s1, s2, ix+1); } else { return 0; } } } public int compare(Object o1, Object o2) { return compare((String)o1, (String)o2, 0); } public boolean equals(Object obj) { return false; } }
11. september 2005 - 23:06
#4
dvs. en array er bare String[] noget = {"1","2"}; ?
11. september 2005 - 23:07
#5
det der er et String array med initialisering
11. september 2005 - 23:07
#6
her er et eksempel med int arrays: import java.util.Arrays; public class Merger { public static void main(String[] args) { int[] a1 = { 1,3,5,7,29,11,10,4,8,13 }; int[] a2 = { 1,9,5,30,21,12,17,4,36,13 }; // test for already in int[] a12 = new int[a1.length + a2.length]; int n = 0; for(int i = 0; i < a1.length; i++) { boolean alreadyin = false; for(int j = 0; j < n; j++) { if(a1[i] == a12[j]) { alreadyin = true; break; } } if(!alreadyin) { a12[n] = a1[i]; n++; } } for(int i = 0; i < a2.length; i++) { boolean alreadyin = false; for(int j = 0; j < n; j++) { if(a2[i] == a12[j]) { alreadyin = true; break; } } if(!alreadyin) { a12[n] = a2[i]; n++; } } for(int i = 0; i < n; i++) { System.out.print(" " + a12[i]); } System.out.println(); // sort first and merge Arrays.sort(a1); Arrays.sort(a2); int[] a12x = new int[a1.length + a2.length]; int nx = 0; int ix1 = 0; int ix2 = 0; while(ix1 < a1.length && ix2 < a2.length) { if(a1[ix1] == a2[ix2]) { a12x[nx] = a1[ix1]; nx++; ix1++; ix2++; } else if(a1[ix1] < a2[ix2]) { a12x[nx] = a1[ix1]; nx++; ix1++; } else { a12x[nx] = a2[ix2]; nx++; ix2++; } } while(ix1 < a1.length) { a12x[nx] = a1[ix1]; nx++; ix1++; } while(ix2 < a2.length) { a12x[nx] = a2[ix2]; nx++; ix2++; } for(int i = 0; i < nx; i++) { System.out.print(" " + a12x[i]); } System.out.println(); } }
11. september 2005 - 23:09
#7
Smid svar, og tak for hjælpen.
11. september 2005 - 23:10
#8
ok
11. september 2005 - 23:10
#9
beklager at jeg ikke havde nogle simplere eksempler på lager
11. september 2005 - 23:11
#10
Helt iorden. Har fået svar på hvordan jeg lavede en array, så det skal du ikke beklage over ;o]
11. september 2005 - 23:13
#11
int[] a1 = { 1,3,5,7,29,11,10,4,8,13 }; er array med angivne værdier int[] a12 = new int[a1.length + a2.length]; er er array uden angivne værdier (og er derfor 0)
11. april 2014 - 22:54
#12
Hejsa, Undskyld at jeg svare på denne tråd. Men jeg tænker om Arne gad og uddybe denne her? while(ix1 < a1.length) { a12x[nx] = a1[ix1]; nx++; ix1++; } Hvorfor er det at du har fields som nx og ix1 sat til 0?? Er det for at man ikke ved hvor meget array skal fyldes op med at man sætter 0? og det array der hedder a1 har allerede nogle værdier så det skal bare smides ned i det nye array? Og sat dem til ++ i while løkken?? Håber du gider
Kurser inden for grundlæggende programmering