以下部分是伪代码(jsp有段时间没用了):
<jsp>
//这里假设list是中放的是String
String arrayStr = "[";
for(list){
array += list[i]+",";
}
arrayStr += "]";
</jsp>
<javascript>
var array = eval(<jsp>write(arrayStr);</jsp>);
</javascript>把值放set里,然后再取出来放入list就不会重复,参考如下:
String [] arr = {"q","q","s","s","w","w"};
Map <String, List<String>> hm = new HashMap<String , List<String>>();
List <String>l = ArraysasList(arr);
for(Iterator <String>it = literator();ithasNext();){
String a = itnext();
List <String> temp = hmget(a);
if(temp == null){
temp = new ArrayList<String>();
hmput(a, temp);
}
tempadd(a);
}
首先来个不安全的,但是短的版本:
foreach (object obj in mainList){
dynamic x = obj;
foreach (var item in x)
{
ConsoleWrite(item);
}
}
因为这些类型没有公共的接口(object不算),所以比较安全的方式是用if else处理了,用Type就够了。
foreach (object obj in mainList){
Type objType = objGetType();
if (objType == typeof(List<int>))
{
List<int> o = obj as List<int>;
foreach (var i in o)
ConsoleWrite(i);
}
else if (objType == typeof(List<string>))
{
List<string> o = obj as List<string>;
foreach (var s in o)
ConsoleWrite(s);
}
else if (objType == typeof(double[]))
{
double[] o = obj as double[];
foreach (var d in o)
ConsoleWrite(d);
}
else if (objType == typeof(Dictionary<string, int>))
{
Dictionary<string, int> o = obj as Dictionary<string, int>;
foreach (var p in o)
ConsoleWrite(p);
}
}
一般是通过迭代期获取数据,因为set集合无序,所以输出不是顺序输出
import javautilIterator;
import javautilSet;
public class Test{
public static void main(String[] args) {
// 初始化set集合
Set<String> set = new HashSet<>();
setadd("1");
setadd("2");
setadd("3");
// 获取set集合数据
for (Iterator iterator = setiterator(); iteratorhasNext();) {
String string = (String) iteratornext();
Systemoutprintln(string);
}
}
}
用循环或者迭代器
创建set的iterator
Set<Object> set = new HashSet<Object>();
Iterator<Object> it = setiterator();
while(ithasNext())//判断是否有下一个
itnext()取出元素
======================================
import javautilHashSet;
import javautilIterator;
import javautilSet;
class ADD{
public String a;
public static void main(String[] args) {
ADD a = new ADD();
aa = "a";
ADD b = new ADD();
ba = "b";
Set<ADD> set = new HashSet<ADD>();
setadd(a);
setadd(b);
Iterator<ADD> it = setiterator();
while(ithasNext()){
Systemoutprintln(((ADD)itnext())a);
}
}
}
往集合类set里添加数据:
1、定义一个set对象
Set h=new HashSet();
2、往set中添加数据
hadd("1st");//往里添加一个字符串
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Set接口主要实现了两个实现类:
HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。
TreeSet: TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)