`
三里小龙
  • 浏览: 86340 次
  • 性别: Icon_minigender_1
  • 来自: 孝感
社区版块
存档分类
最新评论

List、Set、Arrays、数组等应用的样例编写

    博客分类:
  • Java
阅读更多

根据一个面试题目编写:请实现一个函数:最长顺子;输入很多个整数(1<=数值<=13),返回其中可能组成的最长的一个顺子(顺子中数的个数代表顺的长度); 其中数字1也可以代表14; 顺子包括单顺\双顺\3顺;单顺的定义是连续5个及以上连续的数,比如1,2,3,4,5、3,4,5,6,7,8和10,11,12,13,1等;双顺的定义是连续3个及以上连续的对(对:两个相同的数被称为对),比如1,1,2,2,3,3、4,4,5,5,6,6,7,7和11,11,12,12,13,13,1,1等;3顺的定义是连续2个及以上连续的3张(3张:3个相同的数被称为3张),比如1,1,1,2,2,2、3,3,3,4,4,4,5,5,5,6,6,6和13,13,13,1,1,1等等; 

比如:输入数组[1,5,2,3,4,4,5,9,6,7,2,3,3,4], 输出数组[2,2,3,3,4,4,5,5]

 

具体实现如下

 

package org.fanzone.collections;

 

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Scanner;

import java.util.Set;

 

/** 

 * Title: base<br> 

 * Description: <br> 

 * Copyright: Copyright (c) 2011 <br> 

 * Create DateTime: Jun 2, 2011 8:56:25 PM <br> 

 * @author wangmeng

 */

public class CardSort {

 

public static void main(String[] args) {

 

Scanner scanner = new Scanner(System.in);

List<String> list = new ArrayList<String>();

Set<String> set = new HashSet<String>();

if(scanner.hasNext()){

String[] num = scanner.next().split(",");

Arrays.sort(num);

for(int i=0;i<num.length;i++){

for(int j=0;j<num.length-i-1;j++){

if(num[j].equals(num[j+1])){

set.add(num[j]);

}

}

}

for(int i=0;i<num.length;i++){

for(Iterator<String> itr = set.iterator();itr.hasNext();){

String n = itr.next();

if(num[i].equals(n)){

list.add(n);

}

}

}

for(String element : list){

System.out.print(element+" ");

}

}

}

}

 

1
3
分享到:
评论
4 楼 三里小龙 2011-07-06  
对,这个是一个公司的面试题,拿出来做个例子探讨而已
3 楼 c__06 2011-07-06  
这是一个公司的面试题吧!风林火山
2 楼 三里小龙 2011-07-05  
没有,只是借鉴这个例子来对集合和数组的应用做一个整合而已。这里只是取出集合中具有此特征的元素,要想输出双顺和三顺只需一步判断而已,没什么难度的。呵呵,您可以在此基础上去试试看咯。
1 楼 teacher1998 2011-07-05  
不对啊,你这输出是:2 2 3 3 3 4 4 4 5 5 ,这既不是双顺也不是三顺了

相关推荐

    list,set,map,数组之间的相互转换详细解析

    在Java编程语言中,数据结构是...此外,数组转换成List或Set时,如果数组包含null元素,转换后的集合可能不包含这些null元素,因为集合通常不允许null。在实际应用中,应根据具体情况选择合适的数据结构和转换方法。

    java list,set,map,数组间的相互转换详解

    在Java编程语言中,数据结构之间转换是常见的需求,尤其是集合框架中的List、Set和Map以及数组。本文将深入探讨这些数据结构之间的转换方法,并提供相关的实例代码。 1. **List转Set** 要将一个List转换为Set,...

    java的arrays数组排序示例分享

    对于基本数据类型的数组,例如`int[]`、`double[]`、`char[]`等,`Arrays`类提供了一个`sort()`方法来进行升序排序。这个方法基于“经过调优的快速排序法”,具有较高的效率。例如,以下代码展示了如何对一个整型...

    c#中数组的应用

    最后,关于数组应用的实践,你可能还会遇到排序、查找、复制等操作。C#提供了丰富的内置方法,如`Array.Sort()`用于排序,`Array.IndexOf()`用于查找特定元素,`Array.Copy()`用于复制数组部分或全部。 总的来说,...

    JAVA中list,set,数组之间的转换详解

    可以将数组直接传递给HashSet的构造函数,或者先转换为List再转换为Set,如`new HashSet(Arrays.asList(array))`。 从Collection转换为数组,可以调用`Collection.toArray()`方法。这个方法有两重载版本,一个不...

    21.java数组的应用.zip

    2. `Arrays类`:提供了一系列静态方法,如排序`Arrays.sort()`,复制`Arrays.copyOf()`等。 六、数组与集合的区别 虽然ArrayList等集合类在功能上可以替代数组,但数组有其独特优势。数组的访问速度更快,因为它在...

    实验三:数组及其应用.doc

    数组及其应用 arrays are a fundamental data structure in programming, and understanding their concepts and applications is essential for any programmer. In this experiment, we will delve into the ...

    java List、Set与Array之间的相互转换

    在Java编程语言中,数据结构...总的来说,掌握Java中List、Set与Array之间的转换技巧,对于编写高效、灵活的代码至关重要。这不仅涉及到数据结构的选取,还关系到如何根据具体需求在不同数据结构间进行有效的数据迁移。

    Java中数组的各种应用

    List&lt;Integer&gt; list = new ArrayList(Arrays.asList(numbers)); ``` 八、数组作为方法参数 数组可以作为方法的参数传递,这在函数式编程中非常常见。例如,一个计算数组元素总和的函数: ```java public static ...

    JavaSE基础篇 -- jdk配置,数组及其应用,栈和堆内存图解(Java源码)

    此外,Java提供了多种数组操作,如System.arraycopy()用于复制数组部分,Arrays.sort()进行排序,以及Arrays.equals()比较两个数组是否相等。 栈和堆是Java内存管理中的两个关键区域。栈主要用于存储局部变量、方法...

    Java 数组转list.docx

    使用 Arrays 的 asList 方法可以快速地将数组转换为 List,但是生成的 List 是不可变的,即不能添加或删除元素。而使用循环将数组元素一个个添加到列表中可以生成可变的 List,但是需要更多的代码和时间。 在实践中...

    java的Arrays类的应用.doc

    Java的`Arrays`类是Java Util包中的一个非常重要的工具类,它提供了许多方便的方法来操作数组,包括初始化、排序、查找以及比较等。在上述文档中,我们看到`Arrays`类的一些主要应用: 1. **给数组赋值**: - `...

    Android获取arrays.xml里的数组字段值实例详解

    Android获取arrays.xml里的数组字段值实例详解 比如在arrays.xml里: &lt;!--leo added for KYLIN-496--&gt; &lt;string name=reboot_item&gt; &lt;item&gt;Reboot&lt;/item&gt; &lt;item&gt;Recovery&lt;/item&gt; &lt;item&gt;BootLoader&lt;/item&gt; ...

    java 数组转list.docx

    使用 Arrays 类的 asList() 方法可以将数组转换为 List。该方法返回一个固定长度的列表,不能进行添加或删除元素的操作。 ```java import java.util.Arrays; import java.util.List; public class Main { public ...

    第03章 方法与数组 11 Arrays工具类

    对于基本类型的数组,如int、double等,它会使用快速排序或归并排序等高效的算法。 `equals()`方法是另一个常用的功能,用于比较两个数组是否相等。注意,这里的“相等”不仅要求数组长度相同,还要求每个对应位置...

    从n个数组中取出所有排列组合(Java实现)

    在实际应用中,可能需要对结果进行优化,例如使用Set避免重复,或者使用Stream API来简化代码。此外,对于大数据量的输入,还需要考虑性能优化,如使用并行计算或记忆化搜索等技术。 总结来说,从n个数组中取出所有...

    java集合类详解(set list ArrayList等java集合类详述)

    集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等。Collection 接口没有实现类,因此需要通过其子接口来实现。 Set 是一个...

    JAVA实验报告-数组.docx

    在本实验中,我们编写了一个 Java 应用程序,输出数组 a 的全部元素,并将数组 a 的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组 a 的全部元素。 知识点: * 数组的复制 * Arrays....

    Set用法及与List的区别

    在Java编程语言中,集合框架是处理对象的主要工具,其中包括List、Set和Queue等接口。本文将重点关注Set的用法及其与List的区别。 首先,让我们理解Set的基本概念。Set是一个不允许有重复元素的集合,它遵循唯一性...

    aviator 实现 List 的求和、排序、最大、最小值

    在Java应用中,Aviator 特别适合用于数据分析和处理,例如对 List 中的数据进行求和、排序、找出最大值和最小值等操作。在给定的“aviator 实现 List 的求和、排序、最大、最小值”的主题中,我们将深入探讨如何利用...

Global site tag (gtag.js) - Google Analytics