2017-02-23 11 views
-1

こんにちは、この並べ替えられていないオブジェクトのリストは、選択ソートを使用して並べ替える必要があります。しかし、私は並べ替えを使用する配列に順序のないリストを変換する必要があり、私はそれを設定する方法を知らない。その後、配列を順序付けられていないリンクリストに追加する必要があります。ここ並べ替えられていないリンクリストを並べ替える方法

LinkedUnorderedList <games> c1 = new LinkedUnorderedList <>(); 
// stack for the code 3 
LinkedListStack <games> transactions = new LinkedListStack <games>(); 
//Stack for the copy 
ArrayStack <games> copyA = new ArrayStack <games>(); 

Scanner fileScan = new Scanner(new File("input.txt")); 
int code; 
String name; 
String rt; 
String dev; 
int year; 
games obj; 
games tobj; 

while(fileScan.hasNext()) 
{  
    code = fileScan.nextInt(); 
     if(code == 3) 
     {  
      name = fileScan.next(); 
      dev = fileScan.next(); 
      year = fileScan.nextInt(); 
      rt = fileScan.next(); 
      tobj = new games(name,dev); 
      transactions.push(tobj); 
     }  
     else 
     {  
      name = fileScan.next(); 
      dev = fileScan.next(); 
      //System.out.print("hello"); 
      year = fileScan.nextInt(); 
      rt = fileScan.next(); 
      obj = new games(name,dev,year,rt); 
      c1.addToRear(obj); 
     } 
} 
System.out.print(c1.toString()); 
Iterator <games> cpy = c1.iterator(); 
games element; 
while(cpy.hasNext()) 
{ 
    element = cpy.next(); 
    copyA.push(element); 

} 
cpy = c1.iterator(); 
    while(cpy.hasNext()) 
    { 
    info += cpy.next(); 
    }  

String ar [] = new String [c1.count]; 
for(int index = 0; index < c1.count;index++) 
{ 
    ar[index] = c1[index]; 
} 
+0

は、言語を指定し、彼らが知っている言語で質問を探してそのように人々は、この 'arrays'タグをお届けします非常に一般的で、好き嫌いがない –

答えて

0

あなたの質問はだけは本当に私のコードでそれらをソートする方法を、配列とリストの間ではない変換する方法を尋ねます。リストを配列に変換したり、その逆に変換することに関するJavaの標準ライブラリへのいくつかのポインタを示します。

Java Collectionsフレームワーク内のすべてのコレクション(すべての形式やその他のコレクション)には、コレクションを配列に変換するメソッドtoArray()があります。

フレームワークのもう1つの有用な部分は、Collectionsクラスです。 addAll()メソッドは、Collectionと配列を受け入れ、配列の要素をコレクションに追加します。

アレイで作業する場合は、便利なArraysクラスに精通していることが必要です。それが提供する便利なメソッドの1つはasList()です。これは、提供する配列内のすべての要素を含むListの実装を返します。これは、たとえば、すべてのコレクションにあるaddAll()と組み合わせて使用​​すると便利です。ここで

0

、あなたはこのようにリストする

List<Integer> list = new LinkedList<Integer>(); 
Integer[] intArr = list.toArray(new Integer[list.size()]); 

とバック配列から、配列にリストを変換する方法である

list = Arrays.asList(intArr); 

お役に立てば幸いです。

私はあなたが選択ソートで遊びたいと思うので、意図的にソートについて話していません。他の人が既に答えたように、並べ替えのための標準API呼び出しがあります。

Collections.sort(myPrimitiveList); 
Collections.reverse(myPrimitiveList); 

Arrays.sort(myPrimitiveArray); 
Arrays.sort(myPrimitiveArray, Collections.reverseOrder()); 

他のオブジェクトの場合:プリミティブ型の場合

0

Collections.sort(myListOfObject, new Comparator<myObject>() { 

       @Override 
       public int compare(myObject obj1, myObject obj2) { 
        int cmp = obj1.compareTo(obj2); 

        if (cmp > 0) { 
         return obj1; 
        } else { 
         return obj2;       
        } 
       } 
      }); 
関連する問題