⑴ java 如何對自定義類Vector進行排序
你好,用comparable介面我幫你寫了個例子:
package vectorsort;
public class Point implements Comparable<Point>{
private float x;
private float y;
public Point(float x, float y) {
super();
this.x = x;
this.y = y;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
@Override
public int compareTo(Point comparePoint) {
int xcomp = (int)((Point)comparePoint).getX();
// 比較x坐標
return (int)(this.getX()-xcomp);
}
public static void main(String[] args) {
Point p1 = new Point(1.0f,2.0f);
Point p2 = new Point(1.5f,2.6f);
System.out.println("x坐標比較結果:"+p1.compareTo(p2));
}
}
O(∩_∩)O~溫馨提示O(∩_∩)O~
真心希望你能採納我的回答,如有不明白,可以繼續追問,若滿意,記得及時採納。
⑵ Java Vector排序問題,求將Vector<Serializable>轉換為List
Vector<Serializable> vVector = new Vector<Serializable>();
List arrayList = new ArrayList();
Collections.(arrayList,vVector);
Collections.sort(arrayList);
可以先把元素到list中,然後再排序list
⑶ Java中Vector和ArrayList的區別
Vector 的方法是同步的,是線程安全的,因此ArrayList性能要比Vector好一些
需要擴容時,Vector會將它的容量翻倍,而ArrayList只增加50%的大小,ArrayList就有利於節約內存空間
⑷ java對vector動態數組中的對象排序,以下代碼有何問題,如何修改
package com.tx.collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
public class Student {
String name;
int score;
public Student(String n, int s) {
name = n;
score = s;
}
public boolean equals(Object o) {
Student other = (Student) o;
return other.score == score;
}
public String toString() {
return name + "," + score;
}
public static void main(String[] args) {
Vector<Student> stu = new Vector<Student>();
stu.add(new Student("張三", 90));
stu.add(new Student("李四", 80));
stu.add(new Student("小明", 85));
stu.add(new Student("王五", 60));
stu.add(new Student("何六", 70));
Student index = new Student("", 60);
int t = stu.indexOf(index);
System.out.println("成績為60的學生姓名為" + stu.elementAt(t).name);
Set<Student> set = new TreeSet(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
if (o1.score > o2.score)
return -1;
else if (o1.score < o2.score)
return 1;
else
return 0;
}
});
set.addAll(stu);
Iterator<Student> iterator = set.iterator();
while(iterator.hasNext()){
Student s = iterator.next();
System.out.println(s.name+":"+s.score);
}
}
}
⑸ java 中vector 排序
自定義排序吧,自己寫一個比較子,實現Comparator借口,在比較子之中實現自己的比較規則。將所有的需要排序的vector放入到一個List之中,然後調用Collections的sort方法進行排序。
下面是實現的代碼。
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.List;
importjava.util.Vector;
publicclassTestSort{
publicstaticfinalComparator<Vector<String>>VECTOR_COMPARATOR=newComparator<Vector<String>>(){
@Override
publicintcompare(Vector<String>v1,Vector<String>v2){
if(v1==null||v1.size()<2){
return-1;
}
if(v2==null||v2.size()<2){
return1;
}
returnInteger.valueOf(v2.get(1))-Integer.valueOf(v1.get(1));
}
};
publicstaticvoidmain(String[]args){
Vector<String>v1=newVector<String>();
Vector<String>v2=newVector<String>();
Vector<String>v3=newVector<String>();
v1.add("hmm");
v1.add("2");
v2.add("we");
v2.add("5");
v3.add("de");
v3.add("3");
List<Vector<String>>vList=newArrayList<Vector<String>>();
vList.add(v1);
vList.add(v2);
vList.add(v3);
Collections.sort(vList,VECTOR_COMPARATOR);
System.out.println(vList);
}
}
最後輸出的結果是:
[[we,5],[de,3],[hmm,2]]
⑹ java中Vector的用法是什麼
Vector 是一個集合,和List用法差不多,不過現在已經很少用了,List已經能全部取代Vector了,給個例子,希望你對你有幫助。
public static void main(String[] args){
Vector vc = new Vector();
vc.add(0, "abc");
vc.add(1, "bcd");
for (int i = 0; i < vc.size(); i++) {
System.out.println(vc.get(i));
}
System.out.println("=================================");
Vector data = new Vector();
List list = new ArrayList();
list.add("1--a");
list.add("1--b");
data.add(list);
data.add("2--c");
for (int i = 0; i < data.size(); i++) {
if(i==0){
List d1 = (List) (data.get(i));
for (int j = 0; j < d1.size(); j++) {
System.out.println(d1.get(j));
}
}else{
System.out.println(data.get(i));
}
}
}
⑺ 排序的集合有哪些 java
Collection
List
Set
HashSet
TreeSet 是(用二叉樹排序)
Map使用key-value來映射和存儲數據,Key必須惟一,
其中List和Set繼承自Collection介面。
Set不允許元素重復。HashSet和TreeSet是兩個主要的實現類。
List有序且允許元素重復。ArrayList、LinkedList和Vector是三個主要的實現類。
Map也屬於集合系統,但和Collection介面不同。Map是key對value的映射集合,其中key列就是一個集合。key不能重復,但是value可以重復。HashMap、TreeMap和Hashtable是三個主要的實現類。
SortedSet和SortedMap介面對元素按指定規則排序,SortedMap是對key列進行排序。
⑻ java如何對vector排序
Collections.sort(List,Compare),
如果泛型是JDK 提供的 如 基本類型 或者 String 則不需要COmpareTo 介面,如果自定義的 需要實現 CompareTo 介面