计算存储在java

时间:2015-12-17 06:05:28

标签: java list

如何计算列表中不同位置存储的元素数量。 例如:

final List<String> products = new ArrayList<>();
products .set(2,"Top");
products .set(5,"Bottom");
products .set(7,"Pants");
products .set(10,"Skirt");

计数应为4。

是否有任何简短的解决方案。

3 个答案:

答案 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