2011-11-23 132 views
0

排序,我可以得到我的運行實例的列表,這樣如何EC2實例從AWS SDK

.. 
    DescribeInstancesResult describeInstancesRequest = ec2.describeInstances(); 
    listEC2Reservations = describeInstancesRequest.getReservations(); 

    Set<Instance> instances = new HashSet<Instance>(); 
    for (Reservation reservation : listEC2Reservations) { 
     instances.addAll(reservation.getInstances());  
    } 
    .. 

不幸的是實例的順序是隨機的。我喜歡按照例如排序。實例的編號。
我不能做一個

Arrays.sort(instances); 

因爲實例不執行可比

我需要執行/擴展它像

public class MyInstance extends Instance implements Comparable 

或有更簡單的方法嗎?

感謝
斯文

回答

2

您不能對一組。 (好吧,你可以用SortedSet,但你明白我的意思。)

List<Instance> listInstances = new ArrayList<Instance>(instances); 
Collections.sort(listInstances, new Comparator<Instance>() { 
    public int compare(Instance i1, Instance i2) { 
     return i1.getInstanceId().compareTo(i2.getInstanceId()); 
    } 
});