标签: arraylist

java中的数组列表

有没有办法ArrayList通过内置函数调用删除an中的所有空单元格?我看到了,trimToSize但我并没有真正理解它的含义.

例如,假设我有一个包含的数组{1,2,3}.让我说我array.remove(1)现在这样说阵列看起来像{1,null,3}.是否有一个函数可以调用以使其收敛{1,3}?

我知道我可以硬编码一种方法来为我做这件事,但我只是好奇.

java arraylist

0
推荐指数
1
解决办法
1634
查看次数

问题:ArrayList大小增加

喜正与解析XML文件,我回国工作ArrayList类的Objects,但是这种方法的每一个电话,该ArrayList的大小从0-8和8个增加到16和24 ...而不是创建一个新的ArrayList对象.

这是代码:

public ArrayList<clsCategory> ParseCategoryXml(String fileToParse)
{
    try 
    {
        System.out.println("before XML Pasing Array size is = " + categoryArray.size());

            /** Handling XML */
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();

            /** Send URL to parse XML Tags */
            //URL sourceUrl = new URL("http://d.mobrobot.com/feeds/npv1/categories_Fox.xml");
            FileInputStream inputFile = new FileInputStream(fileToParse);
            /** Create handler to handle XML Tags ( extends DefaultHandler ) */
            xr.setContentHandler(this);
            xr.parse(new InputSource(inputFile));
    }
    catch (Exception e) 
    { …
Run Code Online (Sandbox Code Playgroud)

java arraylist android-emulator

0
推荐指数
1
解决办法
311
查看次数

从String数组中获取(快速)String

可能重复:
将ArrayList转换为字符串的最佳方法

我班上有一个ArrayList.

我需要创建一个由所有这些字符串组成的字符串(我知道,为什么不首先使用字符串 - 我在那里处理惊人的遗留代码并且我的双手并列).

有比这更快的方式:

String total;
for (String s : list)
{
   total += s;
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助 !

java string arraylist

0
推荐指数
1
解决办法
184
查看次数

将单个元素添加到ArrayList会添加另外11个null元素吗?

我正在填充一个ArrayList'pps'的Points.

对我而言,这似乎非常简单,但在此运行之后,arraylist中有null元素.

for(int i =0; i< currentt.getPointCount();i++){
   File pXml = new File(tourFolderPath + "point_" + (i+1) +".xml");
   if (pXml.exists()){
      pt = (Point)MXP.createObject(pXml, 2);
   }
   pts.add(pt);
}
Run Code Online (Sandbox Code Playgroud)

在调试器中检查后,似乎第一次出现"pts.add(pt);"行.运行它添加一个合法的点元素.但是,它还添加了10个其他null元素.

有任何想法吗?

java arrays null android arraylist

0
推荐指数
1
解决办法
849
查看次数

我在java.util.ArrayList.containsAll中发现了一个错误吗?

在Java中我有两个列表:

List<Satellite> sats = new ArrayList<Satellite>();
List<Satellite> sats2 = new ArrayList<Satellite>();

Satellite sat1 = new Satellite();
Satellite sat2 = new Satellite();

sats.add(sat1);

sats2.add(sat1);
sats2.add(sat2);
Run Code Online (Sandbox Code Playgroud)

当我在第一个列表中执行以下containsAll方法时:

sats.containsAll(sats2); //Returns TRUE!
Run Code Online (Sandbox Code Playgroud)

它返回true.但是第一个List(sats)只包含1个项目,第二个列表包含2.因此,第一个列表(sats)甚至不可能包含第二个列表(sats2)中的所有项目.知道为什么或者这是Java JDK中的错误?

我在另一个StackOverflow问题中读到,这不是执行此类操作的最高效方式,所以如果有人建议如何使其更高效,那就太棒了!

提前致谢!

java collections list arraylist

0
推荐指数
1
解决办法
3125
查看次数

ArrayList中的内容被修改

我对我正在制作的程序有疑问,说实话,我找不到解决办法.看来Java ArrayList集合中包含的对象正在被修改,而我没有编程这样的修改.

该程序作为一个整体意味着通过在路径上移动,基本上在10x10网格上的两个节点之间创建随机连接.此路径表示为网格中的ArrayList点集合,第一个索引包含第一个节点的位置(节点A),最后一个索引包含第二个节点的位置(节点B).我这样做是通过将自己定位在A的位置,然后随机移动到网格中的连续点,在while循环中重复这一点,直到达到B的位置.

一切似乎都有效,除了"路径"集合以某种方式被改变,这样它的每个点最终都与我移动的最后一个点相同,这也是B的位置.

方法如下:

public void generateRandomPath()
{
    path = new ArrayList<Point>();
    path.add(pInitial);
    complete = false;

    while(!complete)
    {
        k = path.get(path.size()-1);
        d = selectDirection(k);

        GUI.log.append("==== Before the method. ==== \n");
        GUI.log.append(Integer.toString(path.get(path.size()-1).getX())+" - "+Integer.toString(path.get(path.size()-1).getY())+"\n");

        x = move(k, d);
        path.add(x);

        if(k.getX() == pEnd.getX() && k.getY() == pEnd.getY())
            complete = true;

    }
    GUI.log.append("Finished. \n");
}
Run Code Online (Sandbox Code Playgroud)
  • " 点 "只是点,X和Y坐标用整数表示.
  • " pInitial "是表示节点A的位置的点.
  • " pEnd "是表示节点B的位置的点.
  • " d "是我将继续这个重复的方向.这可以分别由向上,向右,向下或向左表示,分别由整数1,2,3和4表示.
  • " k "是路径中的最后一个点,也就是它在前一次重复时移动的点.
  • " x "是它在当前重复上移动的新点.

所以它基本上做的是它抓住路径中的最后一个点作为参考,选择一个方向,然后移动到该方向上连续的点.while循环的每次重复都应该为路径添加一个新点.然而,最终发生的事情是,不仅添加了这个新点,而且已经在路径中的每个其他点都会添加最后一个点的值.通过利用上面显示的日志条目(GUI.log.append),我设法在步骤中看到该 …

java arraylist

0
推荐指数
1
解决办法
301
查看次数

Java:比较两个列表

我在java中有两个列表(ArrayList).

list1 = [1,2,3]的值

list2 = [2,3,4]的值

程序的输出应该说"1"缺失,"4"是一个新元素.我们该怎么做呢?

java arrays list arraylist

0
推荐指数
1
解决办法
6552
查看次数

在Java中:List,ArrayList和Map,HashMap

是List:ArrayList :: Map:HashMap?

如果没有,这些相互之间的差异有何不同?

java list arraylist hashmap map

0
推荐指数
1
解决办法
1321
查看次数

在arraylist中查找重复元素

我想知道是否有办法在arraylist中找到重复的元素.对于我正在尝试做的更多上下文,我有一个字符串的arraylist.每个字符串都包含有关MP3文件的信息.他们有一个标题,作曲家,以及由'&'字符分隔的运行时间(例如Friday&Rebecca Black&666).

根据运行时间,arraylist已经被快速排序了.但是,我还需要对arraylist进行排序,这样如果歌曲的运行时间相等,它们应该在标题上按字典顺序排列,然后在作曲家上如果标题相同也是如此.

我希望能够在arraylist中找到重复的运行时间,以便我可以使用该compareTo方法按字母顺序排序,就像我需要的那样.我已经实现的方法getTime,getTitle,getComposer即提取从整体字符串的相关信息.有没有办法可以在一个新的方法中做到这一点alphabetical,或者甚至更好的方法是我可以将它合并到我的快速排序算法中,这样我就不必再搜索排序的arraylist了?

谢谢.

java arraylist duplicates lexicographic

0
推荐指数
1
解决办法
1054
查看次数

在Java中停止ArrayList的迭代

我正在迭代一个ArrayList名为clientList的客户端,其中包含来自该类的客户端Client (user,pass)

ArrayList<Client> clientList= new ArrayList<Client>();
Run Code Online (Sandbox Code Playgroud)

这是迭代.如果它找到给定的用户(用户)并且密码(pass)匹配,我想停止迭代:

            for (Client c : clientList) {
                userA = c.getUser();
                if (userA.equals(user)) {
                    passA = c.getPassword();
                    if (passA.equals(pass)) {
                        loginOK = true;
                        found= true;
                    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试以下(找到== false),但如果它没有在ArrayList上找到用户,它会被卡住:

        while (found == false) { /
            for (Client c : clientList) {
                userA = c.getUser();
                if (userA.equals(user)) {
                    passA = c.getPassword();
                    if (passA.equals(pass)) {
                        loginOK = true;
                        found= true;
                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

java iteration arraylist

0
推荐指数
2
解决办法
2万
查看次数