0

我正在处理一个字符串数组列表值另一个整数数组列表,我想复制没有重复我尝试使用下面的代码但它没有复制所有值......哪里有错误提示我......

ShootAndCropActivity.class:

public class ShootAndCropActivity extends Activity  {

/** Called when the activity is first created. */
static Vector<Integer> genrated4=new Vector<Integer>();
static ArrayList<String> genratednew=new ArrayList<String>();
static ArrayList<String> multimeaning=new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    multimeaning.add("radha");
    multimeaning.add("swathi");
    multimeaning.add("sudha");
    multimeaning.add("sai");
    multimeaning.add("jyothi");
    multimeaning.add("radha");

    Random random4 = new Random();        
    for (int i4 = 0; i4<multimeaning.size(); i4++){ 
        int randomNumber4 = random4.nextInt(multimeaning.size());
        String mn1=String.valueOf(multimeaning.get(randomNumber4));

        if(!genratednew.contains(mn1)) {
            genratednew.add(mn1);
            genrated4.add(randomNumber4);
        }
     }
 }
 }

在上面的多义数组列表中,我有 6 个名字。在列表中,一个值“radha”出现了 2 次。所以我想将所有这些多义数组列表元素添加到另一个整数数组列表中。但它没有复制所有这些值,我不急于,因为我要遵循订单我要订单...

4

2 回答 2

0

您可以使用设置。集合是项目的唯一集合。没有重复项。您可以使用以下内容删除数组列表中的重复项。然后相应地复制。

static ArrayList<String> multimeaning=new ArrayList<String>();
Set<String> hs = new LinkedHashSet<String>();
// maintains insertion order and will have unique collection of items
hs.addAll(multimeaning);
multimeaning.clear();
multimeaning.addAll(hs); 
于 2013-04-19T05:07:26.100 回答
0

您希望一切井井有条,只想跳过重复的值,然后不要使用Random.

只需替换以下代码

Random random4 = new Random();        
for (int i4 = 0; i4<multimeaning.size(); i4++){ 
    int randomNumber4 = random4.nextInt(multimeaning.size());
    String mn1=String.valueOf(multimeaning.get(randomNumber4));

    if(!genratednew.contains(mn1)) {
        genratednew.add(mn1);
        genrated4.add(randomNumber4);
    }
 }

for (int i4 = 0; i4<multimeaning.size(); i4++){ 
    String mn1=String.valueOf(multimeaning.get(i4));

    if(!genratednew.contains(mn1)) {
        genratednew.add(mn1);
        genrated4.add(i4);
    }
 }

我希望它会有所帮助!

于 2013-04-19T05:35:52.750 回答