Set 没有 get( index ) 方法,不能按照索引获取某个元素。
有两种遍历和修改其中元素的方法:
// 方法 1
TreeSet<MyNode> test1 = new TreeSet<>();
MyNode node1 = new MyNode();
node1.value = "1";
MyNode node2 = new MyNode();
node2.value = "2";
test1.add( node2 );
test1.add( node1 );
for ( MyNode n1 : test1 ) {
n1.value = 99 + "";
}
System.out.println( test1 );
// 方法 2
Iterator it = test1.iterator();
while( it.hasNext() ) {
MyNode n2 = ( MyNode ) it.next();
n2.value = "string";
}
System.out.println( test1 );
使用到的实体类 MyNode:
class MyNode implements Serializable, Comparable<Object> {
//
private static final long serialVersionUID = 1L;
String value;
public int compareTo( Object obj ) {
MyNode node = ( MyNode ) obj;
return value.compareTo( node.value );
}
}