`
三里小龙
  • 浏览: 87609 次
  • 性别: 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,数组间的相互转换

    数组可以直接转换为`List`,但是需要注意的是,通过`Arrays.asList()`方法创建的`List`实际上是一个不可变的列表,也就是说它不支持`add()`或`remove()`等操作。如果需要一个可修改的`List`,可以通过以下方式实现:...

    list转换成string数组

    ### List转换成String数组 在Java编程语言中,经常需要将`List&lt;String&gt;`类型的数据转换为`String[]`数组类型,以便于进行某些特定的操作或适应某些方法的要求。本文将详细探讨这一转换过程,并通过几个具体的示例来...

    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等集合类在功能上可以替代数组,但数组有其独特优势。数组的访问速度更快,因为它在...

    数组和list相互转换

    在这个示例中,`Arrays.asList()` 方法被用来将字符串数组转换为 `List&lt;String&gt;` 类型的列表。需要注意的是,通过这种方式得到的列表实际上是数组的一个视图,对列表进行修改会直接影响原数组。如果希望得到一个新的...

    实验三:数组及其应用.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编程中的一些基础概念,包括方法的定义、重载以及一维数组的应用,特别是如何定义数组并找到其中的最小值。以下是对这些知识点的详细说明: 1. **方法的定义**: 在Java中,方法...

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

    本篇将详细介绍如何在Android应用中获取`arrays.xml`中的数组字段值。 首先,我们需要在`res/values/arrays.xml`文件中创建一个字符串数组,例如: ```xml &lt;!--leo added for KYLIN-496--&gt; &lt;item&gt;Reboot ...

    Java 数组转list.docx

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

    java的Arrays类的应用.doc

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

    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()`方法是另一个常用的功能,用于比较两个数组是否相等。注意,这里的“相等”不仅要求数组长度相同,还要求每个对应位置...

    集合(list为例)与数组的互相转换。

    这里我们传递了一个类型匹配的空数组,`stringList.toArray()`方法会返回一个新的字符串数组,包含`stringList`的所有元素。 2. **数组转List** 数组转换为List有两种常见方法: - 方法一:使用`Arrays.asList...

Global site tag (gtag.js) - Google Analytics