`

Java实现Arrays.asSet()

阅读更多
Google查询资料如下:
http://stackoverflow.com/questions/3064423/java-easily-convert-array-to-set
http://tech.puredanger.com/2007/04/05/arraysasset/



stackoverflow上提出了这个问题, 关于如何将数组转换成Set
最佳答案给出的是
Set<T> mySet=new HashSet<T>(Arrays.asList(someArray));


原来list可以作为参数来构建一个Set,
试着运行一下果然可以。
然后参考
代码如下:

public class SetTest2 
{
	public static void main(String[] args)
	{	
		String a="hello";
		String b="world";
		
		Set<String> mySet=asSet(a,b);
		
		System.out.println(mySet);
		
		
	}
	
	
	public static <T>  Set<T> asSet(T... values){
		Set<T> mySet=new HashSet<T>(Arrays.asList(values));
		return mySet;
		
	}
	
	
}


输入结果: [hello, world]

---------------分割线----------------

这里的核心就是HashSet的构造函数,
Constructs a new set containing the elements in the specified collection. The HashMap is created with default load factor (0.75) and an initial capacity sufficient to contain the elements in the specified collection.

Parameters:
c the collection whose elements are to be placed into this set


java.util.HashSet.HashSet(Collection<? extends String> c)

这里接受一个实现Collection接口的参数,而Collection后面的泛型则是由用户定义,
由于这里我们定义的是String, 所以这里就成了? extends String,就可以接受String类型了。

(关于Collection:The root interface in the collection hierarchy. 所有的集合的根接口)



这里的疑问就是public static <T>  Set<T> asSet(T... values){
如果没有第一个<T>,便会报错。
错误如下:



在Hibernate源码里面也看到这种代码, 很不理解。
因为平时所学过的传统的代码都是例如:
public class BaseDao<T>
public List<T> list(para)
public T load(int id)

不明白static后面的<T>究竟定义了什么。




  • 大小: 33.1 KB
分享到:
评论

相关推荐

    JAVA基于Arrays.sort()实现数组升序和降序

    "JAVA基于Arrays.sort()实现数组升序和降序" 在 Java 中,排序数组是非常常见的操作之一,而 Java 提供了多种方式来实现数组的排序,其中一种常用的方法是使用 Arrays.sort() 方法。今天,我们将详细介绍如何使用 ...

    System.arraycopy和Arrays.copyOf

    `System.arraycopy` 和 `Arrays.copyOf` 都是Java中用于复制数组的方法,但它们在使用和处理异常情况上有所不同。这两个方法在处理数组复制时,提供了便利和效率,但各有其适用场景。 `System.arraycopy` 是一个...

    Java Arrays.sort和Collections.sort排序实现原理解析

    Java中的`Arrays.sort()`和`Collections.sort()`是两个常用的排序函数,它们分别用于对数组和集合进行排序。这两个函数在内部实现上有所不同,但都基于高效的排序算法。 首先,`Collections.sort()`方法在处理列表...

    Java中Arrays.asList()方法详解及实例

    Java中Arrays.asList()方法详解及实例 Arrays.asList()方法是Java中一个常用的方法,它将数组转换为列表。该方法的签名为`public static &lt;T&gt; List&lt;T&gt; asList(T... a)`,它可以接受变长参数,通常情况下是一个数组...

    Java用Arrays.asList初始化ArrayList实例方法

    Java中使用Arrays.asList初始化ArrayList实例方法 在 Java 中,使用 Arrays.asList 方法可以快速创建一个 List 集合,但是需要注意的是,这个方法返回的 ArrayList 并不是 java.util.ArrayList 对象,而是一个内部...

    Java Arrays.asList使用方法解析

    "Java Arrays.asList使用方法解析" Java Arrays.asList使用方法解析是Java中一个非常重要的知识点,主要介绍了Arrays.asList的使用方法和原理。Arrays.asList方法的作用是将数组或一些元素转换为集合,但需要注意的...

    java arrays类.docx

    System.out.println(Arrays.toString(copiedArray)); // 填充数组 Arrays.fill(array, 0); System.out.println(Arrays.toString(array)); } } ``` 这个例子首先创建了一个未排序的整型数组,然后使用`...

    深入理解java中Arrays.sort()的用法

    "深入理解Java中Arrays.sort()的用法" 在Java中,Arrays.sort()是一个非常重要的方法,它可以对数组进行排序。该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。但是sort()的参数有好几种,基本上...

    Arrays.asList方法总结

    `Arrays.asList`方法是Java中一个非常实用的工具,它允许我们将数组转换为`List`对象,以便在处理数组时可以利用`List`接口提供的便利。然而,这个方法有一些特殊的特性和限制,需要我们理解清楚才能正确使用。下面...

    Apress.PHP.Arrays.Single.Multi-dimensional.Associative.and.Object.Arrays.

    Apress.PHP.Arrays.Single.Multi-dimensional.Associative.and.Object.Arrays.in.PHP.7.1484225554.rar 最新书籍,精讲PHP数组,文字版PDF

    你清楚Arrays.binarySearch()方法的返回值吗?

    总结,`Arrays.binarySearch()`是Java中一个高效的数组搜索工具,尤其适用于大规模数据操作。理解和熟练运用这个方法可以显著提升我们的编程效率。通过深入研究其工作原理和返回值的含义,我们可以更好地在实际项目...

    PHP.Arrays.in.PHP.7

    Gain an in-depth understanding of PHP 7 arrays. After a quick overview of PHP 7, each chapter concentrates on single, multi-dimensional, associative, and object arrays. PHP Arrays is a first of its ...

    java的Arrays类的应用.doc

    - `Arrays.binarySearch()`方法实现了二分查找算法,用于在已经排序的数组中查找特定元素。如果找到,返回元素的索引;否则,返回一个负数,该负数的绝对值表示插入元素的位置。例如,`Arrays.binarySearch(array1,...

    Java Methods-Arrays.ppt

    `Java Methods-Arrays.ppt`的主题聚焦于如何理解和使用Java中的数组。以下是关于数组的一些关键知识点: 1. **数组定义**:数组是一系列连续的内存位置,这些位置存储相同类型的数据。每个单独的位置称为元素。数组...

    浅谈Arrays.asList() 和ArrayList类型区别

    在Java编程中,Arrays.asList()方法和ArrayList是两种不同的方式来处理列表数据,它们之间存在显著的区别。这篇文章将深入探讨这两个概念以及它们在实际使用中的差异。 首先,Arrays.asList()是一个Java内置方法,...

    java中的arrays.sort()代码详解

    "Java中的Arrays.sort()代码详解" Arrays.sort()是Java中的一种排序算法,该方法可以对数组进行排序,具体来说,它可以对基本类型数组和对象数组进行排序。在本文中,我们将详细介绍Arrays.sort()的使用方法,包括...

    java 源码分析Arrays.asList方法详解

    Java中的`Arrays.asList()`方法是Java集合框架的一部分,它允许我们将数组或变长参数转换为一个固定大小的`List`对象。这个方法在处理数组与集合之间的转换时非常有用,尤其是当你需要使用集合API操作数组时。下面...

    Java中Arrays类详解.docx

    - 如果只想对数组的一部分进行排序,可以传递额外的参数,如`Arrays.sort(array, fromIndex, toIndex)`,其中`fromIndex`和`toIndex`分别表示排序的起始和结束位置(包含起始,不包含结束)。 3. **数组复制**: ...

    图片url地址arrays.xml

    网络图片地址url集合arrays.xml文件

    Java.SE.7.Programming.Essentials

    Using Java Arrays Chapter 5. Using Loops in Java Code Chapter 6. Encapsulating Data and Exposing Methods in Java Chapter 7. Using Java Methods to Communicate Chapter 8. Using Java Constructors ...

Global site tag (gtag.js) - Google Analytics