public class MyGraph<V,E> extends SparseMultigraph<V,E>{ private ArrayList<MyNode> myNodeList; public MyNode getNode(int nodeId){ myNodeList = new ArrayList<MyNode>(); myNodeList = (ArrayList<MyNode>)this.getVertices(); int i;
The following are the error msg:
Exception in thread "main" java.lang.ClassCastException: java.util.Collections$UnmodifiableCollection cannot be cast to java.util.ArrayList...
Can anyone help?
Use addAll to Convert Collection Into List in Java. addAll() is a method provided in the collections framework that we can use to convert a collection to a list. The elements from the collection can be specified one by one or as an array.
Thanks to the Collection framework in Java, copying collections from one to another is extremely easy. Since every Collection class implements a Collection interface that defines the addAll() method, which can be used to create a collection from contents of another collection.
As other people have mentioned, ArrayList has a constructor that takes a collection of items, and adds all of them. Here's the documentation:
http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html#ArrayList%28java.util.Collection%29
So you need to do:
ArrayList<MyNode> myNodeList = new ArrayList<MyNode>(this.getVertices());
However, in another comment you said that was giving you a compiler error. It looks like your class MyGraph is a generic class. And so getVertices() actually returns type V, not type myNode.
I think your code should look like this:
public V getNode(int nodeId){ ArrayList<V> myNodeList = new ArrayList<V>(this.getVertices()); return myNodeList(nodeId); }
But, that said it's a very inefficient way to extract a node. What you might want to do is store the nodes in a binary tree, then when you get a request for the nth node, you do a binary search.
Try this code
Convert ArrayList to Collection
ArrayList<User> usersArrayList = new ArrayList<User>(); Collection<User> userCollection = new HashSet<User>(usersArrayList);
Convert Collection to ArrayList
Collection<User> userCollection = new HashSet<User>(usersArrayList); List<User> userList = new ArrayList<User>(userCollection );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With