如何计算列表中不同位置存储的元素数量。 例如:
final List<String> products = new ArrayList<>();
products .set(2,"Top");
products .set(5,"Bottom");
products .set(7,"Pants");
products .set(10,"Skirt");
计数应为4。
是否有任何简短的解决方案。
答案 0 :(得分:2)
E set(int index, E element)
方法替换特定索引的元素。如果list在该位置没有元素,它将抛出IndexOutOfBoundsException
。此外,如果您想在列表中找到元素数量,只需使用size()
。
答案 1 :(得分:0)
使用此:
int c=products.size();
在您的情况下,c
将被分配一个值4
,因为您的列表中有4个元素。
注意:
数组列表的第一个索引是0
,它按顺序-0,1,2 ....等。
在转到2之前,你需要在索引0和1处放置一些东西。你不能跳到2。
在您的情况下,它会抛出一个错误,因为您使用set(int index,string new)
替换位置/索引处的元素而不将元素分配给该位置。
这些职位已经是空的,所以没有什么可以替代的。
使用products.add(int index,String new)
为特定index.Replace set
分配一个值add
,其中product.size()
位于code.Begin中,索引为0。
最后,使用<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- Run with Jetty -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Compile java -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<!-- Build war -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<version>2.1.1</version>
</plugin>
<!-- Pack zips -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>webapp</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>LabSystem${packname}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/webapp.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
获取元素数量。
答案 2 :(得分:0)
适合您任务的数据结构为Map
。您可以像这样使用它:
Map<Integer, String> products = new HashMap<>();
products.put(2,"Top");
products.put(5,"Bottom");
products.put(7,"Pants");
products.put(10,"Skirt");
String p10 = products.get(10); // "Skirt"
int productCount = products.size(); // 4
boolean has3 = products.containsKey(3); // false