`
三里小龙
  • 浏览: 86274 次
  • 性别: 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()`方法。这个方法有两重载版本,一个不...

    实验三:数组及其应用.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 ...

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

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

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

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

    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是一个不允许有重复元素的集合,它遵循唯一性...

    java中数组的应用及方法

    除了以上的基本应用,Java数组还支持许多其他操作,如排序(使用`Arrays.sort()`方法)、填充(使用`Arrays.fill()`方法)以及复制(使用`System.arraycopy()`方法)。此外,Java还提供了多维数组,可以创建数组的...

    ejercicios-arrays:数组

    "ejercicios-arrays"这个练习集将涵盖数组的基本概念、操作、以及在实际编程中的应用。通过解决这些问题,你将加深对Java数组的理解,提高编程技能,特别是对于数组操作和优化方面的能力。此外,多做练习还能帮助你...

Global site tag (gtag.js) - Google Analytics