62,620
社区成员
发帖
与我相关
我的任务
分享
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
public class Test4{
public static void main(String[] args){
Vector<String> myVector;
String[] result;
myVector=new Vector<String>(Arrays.asList("1","1","1","1","3","4","1"));
result=getElementFromVector(myVector,3);
System.out.println(Arrays.toString(result));
myVector=new Vector<String>(Arrays.asList("1","1","1","1","1","4","1"));
result=getElementFromVector(myVector,3);
System.out.println(Arrays.toString(result));
myVector=new Vector<String>(Arrays.asList("1","1","1","1","1","1","1"));
result=getElementFromVector(myVector,3);
System.out.println(Arrays.toString(result));
}
public static String[] getElementFromVector(Vector<String> vector,int count){
String[] result=new String[count];
Map<String, Integer> myMap = new HashMap<String, Integer>();
for(String str:vector){
if(myMap.get(str) == null){
myMap.put(str, 1);
}else{
myMap.put(str, myMap.get(str) + 1);
}
}
while (count > 0){
for(String str : myMap.keySet()){
if(count <= 0){
break;
}
if(myMap.get(str) > 0){
result[--count]= str;
myMap.put(str, myMap.get(str) - 1);
}
}
}
return result;
}
}
import java.util.*;
public class Test4{
public static void main(String[] args){
Vector<String> myVector1=new Vector<String>(Arrays.asList("4","1","1","1","1","1","1"));
Vector<String> myVector2=new Vector<String>(Arrays.asList("1","1","3","1","2","4","1"));
String[] result1=getElementFromVector(myVector1,3);
String[] result2=getElementFromVector(myVector2,3);
System.out.println(Arrays.toString(result1));
System.out.println(Arrays.toString(result2));
}
public static String[] getElementFromVector(Vector<String> vector,int count){
Map<String,Integer> myMap=new HashMap<String,Integer>();
for(int i=0;i<vector.size();i++){
myMap.put(vector.get(i),i);
}
String[] result=new String[count];
int index=count-1;
for(String str:myMap.keySet()){
if(index<0){
break;
}
result[index--]=str;
}
if(index>=0){
boolean isAll=false;
for(int i=0;i<vector.size()&&!isAll;i++){
for(int j=count-1;j>index;j--){
String str=vector.get(i);
if(str.equals(result[j])&&myMap.get(str).intValue()!=i){
result[index--]=str;
if(index<0){
isAll=true;
break;
}
}
}
}
}
return result;
}
}import java.util.*;
public class Test4{
public static void main(String[] args){
Vector<String> myVector1=new Vector<String>(Arrays.asList("1","1","1","1","1","4","1"));
Vector<String> myVector2=new Vector<String>(Arrays.asList("1","1","3","1","2","4","1"));
String[] result1=getElementFromVector(myVector1,3);
String[] result2=getElementFromVector(myVector2,3);
System.out.println(Arrays.toString(result1));
System.out.println(Arrays.toString(result2));
}
public static String[] getElementFromVector(Vector<String> vector,int count){
Set<String> mySet=new HashSet<String>(vector);
String[] result=new String[count];
int index=count-1;
for(String str:mySet){
if(index<0){
break;
}
result[index--]=str;
}
if(index>=0){
for(String str:vector){
result[index--]=str;
if(index<0){
break;
}
}
}
return result;
}
}import java.util.*;
public class Test4{
public static void main(String[] args){
Vector<String> myVector=new Vector<String>(Arrays.asList("1","1","2","3","2","4","3"));
String[] result=getElementFromVector(myVector,3);
System.out.println(Arrays.toString(result));
}
public static String[] getElementFromVector(Vector<String> vector,int count){
Set<String> mySet=new HashSet<String>(vector);
if(mySet.size()<count){
System.out.println("不相同的元素数量不够");
}
String[] result=new String[count];
int index=count-1;
for(String str:mySet){
if(index<0){
break;
}
result[index--]=str;
}
return result;
}
}
public static List getElementFromVector(Vector vector) {
List strData = new ArrayList();
if (vector != null && vector.size() >=3) {
strData.add(vector.get(0));
for (int i = 1; i < vector.size(); i++) {
if (!strData.contains(vector.get(i))) {
strData.add(vector.get(i));
}
if (strData.size() >= 3) {
break;
}
}
if (strData.size() == 1) {
strData.add(strData.get(0));
strData.add(strData.get(0));
}
if (strData.size() == 2) {
if (strData.get(1).equals(vector.get(1))) {
strData.add(vector.get(2));
} else {
strData.add(1,vector.get(1));
}
}
}
return strData;
}